0

IN条項にすべてのオプションがある製品が欲しいです。ここに私のSQLがあります:

SELECT
    p.title, p.price FROM products AS p, product_options AS po
WHERE
    p.product_id = po.product_id
AND
    po.product_option_id IN (5,1,38,39)
GROUP BY
    p.product_id;
4

1 に答える 1

2

これらのオプションをすべて含む結果を返したい場合は、次を使用できます。

SELECT p.title, p.price 
FROM products AS p
INNER JOIN product_options AS po
  ON p.product_id = po.product_id
WHERE po.product_option_id IN (5,1,38,39)
GROUP BY p.product_id
HAVING COUNT(DISTINCT po.product_option_id) = 4;

デモで SQL Fiddle を参照してください

于 2013-04-04T11:55:54.137 に答える