比较MySQL中两行的同一个表

时间:2013-11-14 14:55:47

标签: 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 | confirmed_date | + ------ + --------- + ------------ + ------- + ----------- --- + --------------------- + | 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的两个日期中的较大日期后更新bill表的confirmed_date列,并且比较每个bill_id的两个日期中的较大日期(请求中的bill_id和patient_id是ID中的id和patient_id的外键)

我是否足够清楚了?

1 个答案:

答案 0 :(得分:0)

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