テーブルから特定の条件を満たす場合は、DISTINCT
IDを返すようにしています。いくつかの基準に基づいて異なるIDを返します
- IDは、IDがここにテーブルがあります38または46または67
のCIDを含めることはできません1,26,33,49のCID(すべて)
SELECT DISTINCT(c1.id) FROM cte c1
LEFT JOIN cte c2
ON c1.id = c2.ID
AND c2.CID = 38
where c2.id IS null
これだけ作品、私が提示すべきではない、単一のIDを指定した場合:ここで
は、私がこれまで持っているものです。私は
AND c2.CID IN (38,46,67)
でこれ
AND c2.CID = 38
を交換する場合、これは私に正しいIDを返しません。また、c1.CID
にIDを含めるための条件を追加すると、1,26,33,49
も不正なIDが返されます。
この例の表に基づいて、私は戻ってID 12345
を取得する必要があります。
は、ここで私はsubquery
を使用せずに、この出力を取得しようとしているSQLFIDDLE.
です。
提案がありますか?
このクエリが機能しない理由は分かりません:「あなたのテーブルから別のIDを選択してください(1,26,33,49)」 – FLICKER
これは動作しません。 'ID'は異なる' CIDs 'を持つ複数の行を持つことができます。 1つのselectだけを実行すると、行が除外されますが、IDは除外されません。 – smr5
@burzum 'criteria'は複数形であり、単数形は 'criterion'なので、 'criterias'は単語ではありません。 –