在花了很多时间尝试和进行一些研究之后,我终于投降并请求你们的帮助。这就是我的 MySQL 表的样子:
表1:
Parent_ID | ID | Name | Quality |Price 1 | 001|Apple | good |1.50 1 | 002|Apple | medium |1.20 1 | 003|Apple | poor |0.99 2 | 004|Car | good |5000.00 2 | 005|Car | poor |200.00
表2:
Parent_ID | Var_Name | Value 1 | color | red 1 | size | big 1 | rating | 3 Star 2 | color | blue 2 | size | medium 2 | rating | ok
好的。到目前为止一切顺利。我现在需要的是一个给我这个的查询:
Parent_ID | ID | Name | Quality | Price | color | size | rating 1 | 001 | Apple | good | 1.50 | red | big | 3Star 1 | 002 | Apple | medium | 1.20 | red | big | 3Star 1 | 003 | Apple | poor | 0.99 | red | big | 3Star 2 | 004 | Car | good | 5000.00 | blue | medium | ok 2 | 005 | Car | poor | 200.00 | blue | medium | ok
最佳答案
只需连接到 table2 三次,并在 JOIN 子句中过滤 var_name 即可。
SELECT t.parent_id,
t.id,
t.name,
t.quality,
t.price,
c.VALUE AS color,
s.VALUE AS size,
r.VALUE AS rating
FROM table1 t
LEFT JOIN table2 c
ON t.parent_id = c.parent_id
AND c.var_name = 'color'
LEFT JOIN table2 s
ON t.parent_id = s.parent_id
AND s.var_name = 'size'
LEFT JOIN table2 r
ON t.parent_id = r.parent_id
AND r.var_name = 'rating'
关于mysql - 如何对两个表进行 SELECT 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9302905/