SQL Server Management Studio 2016を使用していますが、結果が10件未満のクエリがあります。問題は特定のテキストフィールドで結果を並べ替える必要がありますが、必要な順序はアルファベットではありません。可能な結果がabc、cde、ghfなどであった場合は、最初にcdeを選択し、他のものを無視したい場合はghfを使用できません。これはサブクエリなので、常に上位レベルの選択肢から同じ数の結果が得られますが、リスト内の最初の値を満たすものだけをすべて無視します。任意のアイデアをいただければ幸いです。おかげSQL Server:サブクエリーの問題900
0
A
答えて
1
は、あなたが使用できる一つの方法はjoin
次のとおりです。
select top 1 q.*
from (<your query here>) q left join
(values ('abc', 1), ('def', 2), . . .
) v(val, ordering)
on q.col = v.val
order by v.ordering;
もう一つの方法は、さらに簡単です。 。 。
select top 1 q.*
from (<your query here>) q
order by charindex('[' + col + ']', '[abc],[def],...')
0
別のオプション、あなたはあなたにカスタムの並べ替えを割り当てる列に基づいて値を返すようにcase
表現を使用することができます。
select *
from t
order by
case col
when 'cde' then 0
when 'ghf' then 1
when 'abc' then 2
else 3
end
関連する問題
- 1. SQL Serverの問題
- 2. Sql server authentication問題
- 3. SQL Server BETWEEN問題
- 4. SQL ServerのPKの問題
- 5. SQL Serverのパフォーマンスの問題
- 6. サブクエリー実行時のTeradataスプールスペースの問題
- 7. SQL Serverログオンの問題
- 8. SQL Serverクエリの問題
- 9. SQL Server LIKE句の問題
- 10. SQL Server 2008r2コミットパフォーマンスの問題
- 11. Sql Server 2008 CDCの問題
- 12. SQL Serverクエリの問題
- 13. sql server 2008スナップショットエージェントの問題
- 14. ASP.NET SessionState SQL Serverの問題
- 15. SQL Serverストアドプロシージャsp_updatestatsの問題
- 16. SQL Serverアカウントの問題
- 17. SQL Server(2005)リンクサーバーの問題
- 18. restore database - sql serverの問題
- 19. SQL Server 2012データベースクエリの問題
- 20. SQL Server Execの問題
- 21. SQL Serverストアドプロシージャのパフォーマンス問題
- 22. Sql Server 2005スピードの問題
- 23. SQL Server 2016アップグレードアドバイザー問題
- 24. SQL Server動的列問題
- 25. SQL Serverのパフォーマンスの問題の特定
- 26. パフォーマンスの問題のSQL Server 2005
- 27. SQL Serverのフルテキスト検索の問題
- 28. SQL ServerのデータツールとVisual Studioの問題
- 29. SQL Server 2008 R2のデータエクスポートの問題
- 30. SQL Serverの引用符の問題
質問は特に明確ではありません。あなたが定義する可能な値の有限集合に基づいて注文したいですか? – AndySavage
テーブル構造とコードを表示できますか? – shoover