Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
AskSQLTeam
Ask SQLTeam Question
0 Posts |
Posted - 2004-04-20 : 10:04:04
|
| Jerry writes "I'm getting the TOP 25 records -- no problem.I can get a single record -- no problem.BUT, I'd like to get the top 25 and ONE EXTRA row (to be a total of 26 records -- or all records in the case where there are 25 or less).I've tried sub-queries and Union queries but still no luck - the only way I can do this successfully is using 2 different queries and combining the results.In this example there are 35 records but I want just the latest 25 AND I want an additional one that is not in the top 25. I would always have 25+1 rows returned if it worked right.Here's a sample of a failed attempt that will never return the lone record:SELECT TOP 25 FormulaUsage.LotNumber, FormulaUsage.Qty, FormulaUsage.Expire, FormulaUsage.FormulaUsageID, FormulaUsage.FormulaIDFrom FormulaUsageWhere FormulaUsage.FormulaUsageID<>432AND FormulaUsage.FormulaID =100UNIONSELECT FormulaUsage.LotNumber, FormulaUsage.Qty, FormulaUsage.Expire, FormulaUsage.FormulaUsageID, FormulaUsage.FormulaIDFrom FormulaUsageWHERE FormulaUsage.FormulaUsageID=432AND FormulaUsage.FormulaID=100ORDER BY FormulaUsage.FormulaUsageID DESCIn other words (in this example) "I want the first 25 records AND record 35"" |
|
|
LarsG
Constraint Violating Yak Guru
284 Posts |
Posted - 2004-04-20 : 10:36:50
|
| [code]SELECT TOP 25 FormulaUsage.LotNumber, FormulaUsage.Qty, FormulaUsage.Expire, FormulaUsage.FormulaUsageID, FormulaUsage.FormulaIDFrom FormulaUsageWhere FormulaUsage.FormulaUsageID<>432AND FormulaUsage.FormulaID =100ORDER BY FormulaUsage.FormulaUsageID DESCUNION allSELECT FormulaUsage.LotNumber, FormulaUsage.Qty, FormulaUsage.Expire, FormulaUsage.FormulaUsageID, FormulaUsage.FormulaIDFrom FormulaUsageWHERE FormulaUsage.FormulaUsageID=432AND FormulaUsage.FormulaID=100[/code] |
 |
|
|
|
|
|
|
|