[解決済み] どのようにSQLでサブセットクエリを作成するには?
2022-02-11 16:05:02
質問内容
以下のような2つのテーブルがあります。
CREATE List (
id INTEGER,
type INTEGER REFERENCES Types(id),
data TEXT,
PRIMARY_KEY(id, type)
);
CREATE Types (
id INTEGER PRIMARY KEY,
name TEXT
);
のすべてのidを決定するクエリを作成したいと思います。
List
で、与えられた型文字列を持つ。
例えば
リスト 1 0 "いくつかのテキスト"。 1 1 "もっとテキストを" 2 0 "フー" 3 1 "バー" 3 2 "バーバズ" 4 0 "バズ" 4 1 "FooBar"。 4 2 "FooBarBaz"。 タイプ 0 "キー1"。 1 "Key2"。 2 "Key3"。
入力 "Key1", "Key2" がある場合、クエリは 1, 4 を返す必要があります。
入力が "Key2", "Key3" である場合、クエリは 3, 4 を返す必要があります。
入力が "Key2" である場合、クエリは 1, 3, 4 を返す必要があります。
ありがとうございます。
解決方法は?
select distinct l.id
from list l
inner join types t on t.id = l.type
where t.name in ('key1', 'key2')
group by l.id
having count(distinct t.id) = 2
where節に入れるキーの数に合わせてhaving節を調整する必要があります。キーが1つだけの場合の例
select distinct l.id
from list l
inner join types t on t.id = l.type
where t.name in ('key2')
group by l.id
having count(distinct t.id) = 1
関連
-
[解決済み】INTERSECTとINNER JOINは根本的に違うのか?[重複している]
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】CREATE VIEW は、バッチ内の唯一のステートメントでなければなりません。
-
[解決済み】sys.dm_exec_sql_textはどのように機能するのでしょうか?
-
[解決済み】SQL Serverは「集約関数やサブクエリを含む式に対して集約関数を実行できない」が、Sybaseはできる。
-
[解決済み] 2つの列を分割するには?
-
[解決済み] mongoの外部キー?
-
[解決済み] SELECT DISTINCTを指定した場合、ORDER BY項目は必ず選択リストに表示されます。
-
[解決済み] FROM のサブクエリにはエイリアスが必要です。
-
[解決済み] 集計を行わずに行から列へピボット移動する
-
[解決済み] アクセスクエリーエラー(from句のシンタックスエラー)
-
[解決済み] ORA-00997: LONG データタイプの不正使用に対する回避策