我正在尝试在mysql数据库中连接两个表但是显示所有结果然后说出一个像"加入结果"对于那些匹配的。
进一步解释一下,假设我有一个这样的表:
表名: 小时
id MORNING AFTERNOON EVENING
1 10.00 1.00 5.00
2 11.00 2.00 6.00
3 12.00 3.00 7.00
第二个表: 订单
id firstname timewanted
4 David 1.00
现在在我的页面上我想要JOIN
两个表,但显示第一个表小时的所有结果,并对示例中的连接中匹配的结果执行某些操作上面是AFTERNOON
和1.00
。 (假设我需要回复像&#34这样的消息;这个地方是为了这个结果")。
目前我正在使用此代码,但这不会显示所有结果:
$sql = "SELECT MORNING
FROM hours t1
WHERE t1.MORNING NOT IN (SELECT timewanted FROM orders)";
有人可以就此提出建议吗?
这将显示表1中的所有结果:
SELECT t1.MORNING, t2.timewanted FROM hours t1 LEFT JOIN orders t2 ON t1.MORNING=t2.timewanted;
但我仍然不知道如何用匹配的东西做点什么!
答案 0 :(得分:1)
您的JOIN
查询中的AFTERNOON
列上的left join
意味着
SELECT t1.MORNING,
t2.timewanted,
CASE WHEN t2.timewanted IS NOT NULL THEN 'joined result' END AS Extra_Column
FROM hours t1
LEFT JOIN orders t2
ON t1.AFTERNOON=t2.timewanted;
顺便说一句:你想用匹配的记录做什么?
如何使用匹配的
做某事