繁体   English   中英

在MySQL的两行中比较同一张表

[英]comparing the same table over two rows in MySQL

这就是我所拥有的

Table : Bill
+------+------------+-----------------+---------------------+
| id   | patient_id | bill_number     | confirmed_date      |
+------+------------+-----------------+---------------------+
|   14 |         32 | 4657            | 2012-07-06 04:11:05 |
|   15 |         33 | 4567            | 2012-07-07 05:11:05 |
|   16 |         34 | 4568            | 2012-07-08 06:11:05 |
|   17 |         35 | 7445            | 2012-08-08 07:11:05 |
+------+------------+-----------------+---------------------+

Table: Claim
+------+---------+------------+-------+--------------+---------------------+

| id | bill_id | Patient_id | 级别| Claim_format | 确认日期| + ------ + --------- + ------------ + ------- + ----------- --- + --------------------- + | 10 | 14 | 32 | 1 | 1500 | 2012-08-10 10:57:17 | | 11 | 14 | 32 | 1 | UB04 | 2012-08-10 11:01:42 | | 12 | 15 | 33 | 1 | 1500 | 2012-09-10 13:57:17 | | 13 | 15 | 33 | 1 | UB04 | 2012-09-10 12:01:42 | | 14 | 16 | 34 | 1 | 1500 | 2012-10-10 12:57:17 | | 15 | 16 | 34 | 1 | UB04 | 2012-10-10 13:01:42 | | 16 | 17 | 35 | 1 | 1500 | 0012-11-10 15:57:17 | | 17 | 17 | 35 | 1 | UB04 | 2012-11-10 14:01:42 | + ------ + --------- + ------------ + ------- + ----------- --- + --------------------- +

在比较每个bill_id的两个日期中较大的日期后,我想用索赔表的Confirmed_date更新票据表的Confirmed_date列(索赔中的bill_id和Patient_id是票据中id和Patient_id的外键)

我说清楚了吗?

UPDATE Bill b
SET b.confirmed_date = ( SELECT MAX(confirmed_date) FROM Claim c WHERE b.id = c.bill_id)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM