だから私は下の表と、これらの値を持っているPHPの一つの変数があります:14,16MySQLのチェック組み合わせ
数字の上の組み合わせが中に存在する場合はどのように確認することができますが表?上記のコンボはID3に存在します。番号の順序を確認したくありません(例:「16,14」または「14,16」)
私はあなたが混乱しないことを願っています!
だから私は下の表と、これらの値を持っているPHPの一つの変数があります:14,16MySQLのチェック組み合わせ
数字の上の組み合わせが中に存在する場合はどのように確認することができますが表?上記のコンボはID3に存在します。番号の順序を確認したくありません(例:「16,14」または「14,16」)
私はあなたが混乱しないことを願っています!
あなただけCOUNT
とHAVING
でGROUP BY
が必要になります。
SELECT id
FROM tablename
WHERE optid IN(14, 16)
GROUP BY id
HAVING COUNT(DISTINCT optid) = 2;
WHERE optid IN(14, 16)
そのidはこれらの数字を持っていることを確認します。COUNT DISTINCT
は、すべてのIDを削除し、ちょうど2つのものを期待しますoptid
。結果:このクエリはあなたに、少なくとも14 and 16
を持っているそれらのid
を与える:という
| id |
|----|
| 3 |
| 4 |
注意。だから、それはあなたが正確に14と16とこれ以上のものを持っているものをしたいしかし、場合あなたの両方の3と4
を与えるだろうし、これを試してみてください。
SELECT id
FROM tablename
WHERE optid IN(14, 16)
AND id not in (SELECT id from tablename where optid not in(14,16))
GROUP BY id
HAVING COUNT(DISTINCT optid) = 2;
これはあなたを与えるだろう。
| id |
|----|
| 3 |
非常にありがとう! 2日私はこれを探しています! :) –
ようこそスタックオーバーフロー。あなたはすでにこれをやってみましたか? [良い質問をするにはどうすればいいですか](https://stackoverflow.com/help/how-to-ask)をご覧ください。スタックオーバーフローはコーディングサービスではありません。 ***あなたの問題を研究し、投稿する前に自分でコードを書いてみることをお勧めします***。 *特定の*に固執する場合は、[最小限の、完全で検証可能な例](https://stackoverflow.com/help/mcve)とあなたが試したことの概要を含めてお手伝いしてください。 – FluffyKitten
3と4の両方が14と16だけでなく、3? –