Sql 两个表的输出结果1:1比较真/假
我有两个表,一个用于t1,另一个用于t2。那些是马里亚达 t1表:Sql 两个表的输出结果1:1比较真/假,sql,mariadb,Sql,Mariadb,我有两个表,一个用于t1,另一个用于t2。那些是马里亚达 t1表: id | cash_amount_received ---------------------------------- 1 7000 2 1000 3 2000 4 3000 5 4000 6
id | cash_amount_received
----------------------------------
1 7000
2 1000
3 2000
4 3000
5 4000
6 5000
t2表:
id | amount
----------------------------------
1 1000
2 2000
3 3000
4 4000
5 5000
6 5000
7 6000
8 7000
我试图实现这一结果:
id | cash_amount_received| amount| result
-----------------------------------------------------
1 7000 7000 true
2 1000 1000 true
3 2000 2000 true
4 3000 3000 true
5 4000 4000 true
6 5000 5000 true
7 null 5000 false
8 null 6000 false
但是我写的查询有以下结果
在这个查询中
SELECT t1.id, t1.cash_amount_received, t2.amount,
IF(t2.id IS NULL, FALSE, TRUE) as result
FROM t1
LEFT JOIN t2 ON (t1.id = t2.id)
在thsi结果中
如何修复我的查询
我非常需要你的帮助。我想对于
左连接,的表是向后的:
SELECT t2.id, hospital_payment_data.cash_amount_received, t2.amount,
(t1.id IS NOT NULL) as result
FROM t2 LEFT JOIN
t1
ON t1.id = t2.id
我不知道医院付款数据是什么,但你大概知道
左联接将保留第一个表中的所有行以及第二个表中的匹配列。您需要t2
中的所有行,因此需要将其作为第一个表引用。hospital\u payment\u数据为t1。我修好了。非常感谢。我用你的答案解决了。