0
我有一個'產品類型屬性'表,其中列出了所有可能的產品屬性的名稱。Mysql - 從一個表中匹配標準和關係中的所有特定行(如果來自其他表)
在另一個表中,我給出了給定產品特定屬性的值。
我需要查詢數據庫以獲取特定產品類型的所有屬性名稱以及它們的值,如果它們具有任何屬性名稱而且沒有賦值。
例如
產品類型1:短衫
產品類型2:海報
ATTRIBUTES
ID | PRODUCT_TYPE_ID | ATTRIBUTE NAME
1 | 1 | Size
2 | 1 | Colour
3 | 1 | Style
4 | 2 | Print Type
5 | 2 | Paper Type
6 | 2 | Paper Size
在表「product_attributes」持有這些屬性的值(即還它鏈接到特定產品),我有:
產品1:男式T恤
產品2:大型海報
PRODUCT_ATTRIBUTES
ID | PRODUCT_ID | ATTRIBUTE_ID | VALUE
1 | 1 | 1 | Large
2 | 1 | 2 | Blue
3 | 1 | 3 | Mens
4 | 2 | 4 | Screen print
結果我想:
換來了產品類型的所有屬性,即使「打印類型」是與特定產品的分配值的唯一屬性。
ID | PRODUCT_ID | ATTRIBUTE_ID | ATTRIBUTE_NAME | VALUE
1 | 2 | 4 | Print type | Screen print
2 | 2 | 5 | Paper type |
3 | 2 | 6 | Paper size |
我試過各種連接,但到目前爲止還沒有得到我想要的。以下內容返回其他產品的值,而不是我需要的特定值。
"SELECT
pa.value AS value,
pa.product_id AS product_id,
ptal.id AS attribute_id,
ptal.name AS attribute_name
FROM product_type_attribute_labels ptal
LEFT OUTER JOIN product_attributes pa ON ptal.id = pa.product_type_attribute_id
WHERE ptal.product_type_id = :ptid
GROUP BY ptal.id"
請添加所有的表,此時我錯過了標籤和產品表。 – davejal