2016-05-24 79 views
0

這是我的選擇數據當前查詢:如何選擇不同的最大值從多個連接表的MySQL

select a.No_Registrasi, a.Nama_CTKI, b.Nama_Negara, c.ID_Rad, d.ID_Lab 
FROM tb_registrasi a 
JOIN tb_negara_tujuan b 
    ON a.ID_Negara = b.ID_Negara 
JOIN tb_radiologi c 
    ON a.No_Registrasi = c.No_Registrasi 
JOIN tb_laboratorium d 
    ON a.No_Registrasi = d.No_Registrasi 

而這裏的結果:
query result

我怎樣不同的那些ID_Rad和ID_Lab並且我需要每個ID_Rad和ID_Lab的最大值,因此它將如下所示:
result

回答

1

使用GROUP BYMAX,試試這個;)

select a.No_Registrasi, a.Nama_CTKI, b.Nama_Negara, CONCAT('RA-', MAX(substring(c.ID_Rad, 4) + 0)) AS ID_Rad, CONCAT('Lab-',MAX(substring(d.ID_Lab, 5) + 0)) AS Id_Lab 
FROM tb_registrasi a 
JOIN tb_negara_tujuan b 
    ON a.ID_Negara = b.ID_Negara 
JOIN tb_radiologi c 
    ON a.No_Registrasi = c.No_Registrasi 
JOIN tb_laboratorium d 
    ON a.No_Registrasi = d.No_Registrasi 
GROUP BY a.No_Registrasi, a.Nama_CTKI, b.Nama_Negara 
+0

那麼'RA-11'例如呢? – sagi

+0

@sagi嗯,ü右,感謝您的捕捉,更新。 – Blank

+0

我想你還需要將數字轉換爲整數,因爲''2'大於''11'' – sagi

相關問題