顧客IDが1つのテーブルとタイムゾーンが別のテーブルにある場合、異なるタイムゾーン値を持つすべての顧客IDを選択できるプレーンSQLステートメントがありますか?言い換えれば、ニューヨーク、シカゴ、サンフランシスコにオフィスを持つ顧客を見つけたいと思いますが、1つのタイムゾーンにのみオフィスを持つ顧客は探しません。単一列の複数の値を選択するバニラSQL
1
A
答えて
3
SELECT Customer
FROM MyTable
GROUP BY Customer
HAVING COUNT(DISTINCT TimeZone) > 1
DISTINCTの使用が重要です。
COUNT(TimeZone)は、別個の値だけでなく、すべての非NULL値をカウントします。したがって、TimeZoneがnullの場合を除いて、COUNT(*)と同等です。すなわち
、所与の顧客三のオフィスを有しているが、すべての東部タイムゾーンにある場合、COUNT(DISTINCTタイムゾーン)が異なるために1
1
SELECT Customer
FROM MyTable
GROUP BY Customer
HAVING COUNT(DISTINCT TimeZone) > 1
醜いが、効果的な
0
:
select CustomerID
where CustomerID in
(
select customerID from
(select distinct CustomerID
from table
where TimeZone in ('NY','CHI','SF')) t
having count(*) = 3
)
関連する問題
- 1. 複数の列から単一の列に値を選択
- 2. UITableView - 複数選択と単一選択
- 3. SQL Serverで複数選択の代わりに単一選択を返す
- 4. 単一のSQLクエリで複数のテーブルを選択
- 5. SQLの単一列に複数の最大値を戻す
- 6. Linq to SQL複数の列を選択
- 7. 複数の列を選択する方法単一のテーブルから同じ行に値を設定する
- 8. Select Inner JoinでDistinctを選択する単一の列で複数の値でクエリをフィルタリングする?
- 9. 列内の複数の範囲から一意の値を選択するTSQL
- 10. 複数の単一選択を避け、NHibernateで複数選択を作成する方法
- 11. Oracle/SQL - 単一列の値の出現回数をカウントする
- 12. 単一の列の値を選択して変数oracle sqlに格納します
- 13. SQLクエリ複数のタグから一意のイメージを選択
- 14. sqlテーブルの複数の列を選択します。
- 15. Javascript配列内の複数の単語に一致する場合は文字列を選択します
- 16. 単一の入力で複数の正しいパーサーを選択する
- 17. LINQ:IQueryableの単一の列からデータを選択する<>
- 18. jQueryで複数の値を選択
- 19. Request.Form HTML +複数のボックス値を選択
- 20. 複数選択のSql(zend db select)
- 21. MySQL単一のクエリで複数の異なるテーブルからデータを選択
- 22. 複数選択リストボックスの選択値を取得
- 23. 選択/更新または複数選択間のSQL Serverデッドロック
- 24. 表示し、複数の単一の値
- 25. 複数の選択編集フォームの選択された値
- 26. 複数の選択可能なオプションから単一の値を取得する方法は?
- 27. サブクエリで複数の列を選択
- 28. SQL文2列の値が単一の値を返します
- 29. 単一のC#ドロップダウン選択からクエリ文字列に値を渡す
- 30. 複数選択の戻り値
+1となり、一方、COUNT(タイムゾーン)は、3になります。また、私は自分の答えを修正して修正しました:) – JNK