【发布时间】:2020-05-04 01:42:43
【问题描述】:
我想比较php中的数据库数据。
这是我的桌子
hospital_payment_data 表
id | date | cash_amount_received
----------------------------------
1 2020-04-01 7000
2 2020-04-29 1000
3 2020-04-29 2000
4 2020-04-29 3000
5 2020-04-29 4000
6 2020-04-29 5000
7 2020-04-29 6000
8 2020-04-29 70000
cash_receipt_publish 表
id | date | amount
----------------------------------
1 2020-04-29 1000
2 2020-04-29 2000
3 2020-04-29 3000
4 2020-04-29 4000
5 2020-04-29 5000
6 2020-04-29 5000
7 2020-04-29 7000
这是我的 sql 语法
SELECT ifnull(hospital_payment_data.id,'-') AS pg_id,
ifnull(hospital_payment_data.date,'-') AS pg_date,
ifnull(hospital_payment_data.cash_amount_received,'-') AS pg_amount,
ifnull(cash_receipt_publish.id,'-') AS van_id,
ifnull(cash_receipt_publish.date,'-') AS van_date,
ifnull(cash_receipt_publish.amount,'-') AS van_amount
FROM hospital_payment_data
LEFT JOIN cash_receipt_publish ON hospital_payment_data.id = cash_receipt_publish.id
UNION ALL
SELECT ifnull(hospital_payment_data.id,'-') AS pg_id, ifnull(hospital_payment_data.date,'-') AS pg_date, ifnull(hospital_payment_data.cash_amount_received,'-') AS pg_amount,
ifnull(cash_receipt_publish.id,'-') AS van_id, ifnull(cash_receipt_publish.date,'-') AS van_date, ifnull(cash_receipt_publish.amount,'-') AS van_amount
FROM hospital_payment_data
RIGHT JOIN cash_receipt_publish ON hospital_payment_data.id = cash_receipt_publish.id
WHERE hospital_payment_data.id IS NULL limit 0
在此网页结果中
我想要结果
如果日期和金额匹配或金额匹配,我想 通过将表与表中的表进行比较,将其表示为 False cash_receipt_public。
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 6000 null false
8 10000 null false
9 null 5000 false
【问题讨论】:
-
“id”从何而来?他们没有意义。同时标记您正在使用的数据库。