2

2 つのテーブル間で JOIN を使用する際に問題があります。これが私のテーブルです。

患者台

........................................
uid | no_mr     | name
........................................
1   | 1101      | Eko
2   | 1102      | John Doe

訪問テーブル

..............................................
uid | vcode         | patient_id
..............................................
1   | V-20130725143528  | 1
2   | V-20130726132308  | 2
3   | V-20130726142907  | 2
4   | V-20130726144436  | 1 

訪問テーブルに基づいて患者データを表示し、visit.uid で降順に並べ替える方法。

ここに私の質問があります、

SELECT patient . * , visit.uid
FROM patient
LEFT JOIN visit ON patient.uid = visit.patient_id
WHERE patient.uid >1
GROUP BY patient.no_mr
ORDER BY visit.uid DESC 
LIMIT 0 , 10

そのクエリを実行すると、この値が得られます。

.......................................
uid | no_mr     | name
.......................................
2   | 1102      | John Doe
1   | 1101      | Eko

このように、新しい訪問データを持つ患者データを表示します。

.......................................
uid | no_mr     | name
.......................................
1   | 1101      | Eko
2   | 1102      | John Doe

助けてください、ありがとう..

4

1 に答える 1

5

これを試して

SELECT q.* FROM (
SELECT patient . * , visit.uid AS visit_uid
FROM patient
LEFT JOIN visit ON patient.uid = visit.patient_id
ORDER BY visit_uid DESC 

) q GROUP BY q.uid ORDER BY q.visit_uid DESC 

LIMIT 0 , 10

フィドル

于 2013-07-26T19:42:57.683 に答える