【发布时间】:2013-08-20 06:28:15
【问题描述】:
我是 inner join 和 left join 的新手,希望有人能帮助我。 .
我有 3 张桌子..
- 衬衫
- 颜色
- 价格
衬衫:
sid |姓名
------------
01 | |样品1
02 | |样本2
颜色
sid |颜色|| color_id
------------
01 |红色 | 900
02 |绿色 | 090
价格:
sid |价格
------------
01 | 100
02 | 100
我的查询是:
SELECT `Shirts`.*, `Colors`.`color`, `Prices`.`price` FROM `Shirts`
INNER JOIN `Colors`
on `Shirts`.`sid` = `Colors`.`sid`
LEFT JOIN `Prices`
on `Shirts`.`sid` = `Prices`.`sid`
WHERE `Shirts`.`sid`='02'
我想要实现的是:
sid |姓名 |颜色 |价格
----------------------
02 |样品 2 |绿色 | 100
我得到的是:
sid |姓名 |颜色 |价格
----------------------
空 |空的 |空 |空
我知道我的查询一定有问题..那么谁能告诉我什么是正确的查询?
【问题讨论】:
-
问题可以在列
GENDB_ID中吗?必须有 Prices.SID 列吗? -
您的查询运行良好。我得到了正确的结果,和你预期的一样。
标签: mysql