申し訳ありません私が編集すると、製品、product_toカテゴリ、product_attribute、およびattribute_descriptionの4つのテーブルがあります。条件を選択(すべてのデータにこの基準があります)Sql
すべてのテーブルには関係があります。この製品のように
:
apple, category = 193
dell, category = 100
asus, category = 99
、すべてのカテゴリについては、オールインワン100(製品ID = ...)、マックノート200(製品ID =(アップルのMacのような子供を持っています.. ...)
そして、すべての子供の製品はいくつかの属性を持っている(Apple社のMacオールインワン100(VGA、ラム、DLL))
製品:。。
Product_id
Product_to_category:(製品との関係)
product_id category_id
Product_attribute:(製品とattribute_descriptionとの関係)
product_id attribute_id
attribute_description:
attribute_id name(vga,ram,dll)
私はすべての属性を選択しようケース(この属性を持つ製品)
例:
製品リンゴ-1は、属性VGA、RAM、プロセッサ、明るさを有します。
製品apple-2には、vga、ram、processorという属性があります。
製品apple-3にはmemory、os、processor、ramがあります。
(すべての商品にこの属性がある)すべての属性を選択します。 であり、答えはramおよびプロセッサ(coz、apple1-3にこの属性があります)です。
何を私は知っていることは、このようにカテゴリ193(リンゴ)から1で、すべての属性を選択します:
SELECT DISTINCT ad.name
FROM product_to_category AS ptc
INNER JOIN product AS p ON ptc.product_id = p.product_id
INNER JOIN product_attribute AS pa ON p.product_id = pa.product_id
INNER JOIN attribute_description AS ad ON pa.attribute_id = ad.attribute_id
WHERE ptc.category_id =193
しかし、私はそれがだ場所(条件いかなる製品Appleはこの属性を持つ)カテゴリappleからすべてのname属性を選択します共通の共通属性。
私が知りたいのは、アップル製品のすべてが所有しているものです。
あなたの要件が明確ではありません。いくつかのサンプル入力と予想される出力を追加してください。 – 1000111
つまり、異なる製品の共通の属性を取得する必要があります。右?私が間違っていないならば、あなたはちょうど異なる製品の属性セットの交差点を望んでいます。 – 1000111
@ 1000111 yeach一般的な属性、 – Newbi