我有一个SQLite3数据库,我需要从以下查询中选择特定行(H981.VISITID)中的DISTINCT:
`SELECT
H981.VISITID AS pat_no, H98.MED_REC_NO
FROM H98_Paradigm_Encounters H98
LEFT OUTER JOIN H98_MLO_Encounters H981
ON H98.MED_REC_NO=H981.EXTERNALID`
结果目前正在产生这样的结果:
|pat_no|med_rec_no|note|
|1 |4545 |Test|
|2 |4545 |Test|
|3 |4545 |Test|
|4 |4545 | |
|1 |4545 | |
|2 |4545 | |
|3 |4545 | |
|4 |4545 |Test|
我希望结果产生类似的结果:
|pat_no|med_rec_no|note|
|1 |4545 |Test|
|2 |4545 |Test|
|3 |4545 |Test|
|4 |4545 | |
我已经尝试了一些我在这里看过的东西,但似乎没有任何效果。有什么建议吗?
答案 0 :(得分:0)
你不能用单列DISTINCT,而只能行一行:
select DISTINCT
返回唯一行的列表
您正在寻找的东西被称为“分组依据”,您不能将它用于如此变异的列。为什么?让我们假设您只想获得一个H981.VISITID值,但H981.VISITID的一个值是指来自H98.DIAGNOSIS_2的两个值。那么显示哪一个呢?目前尚不清楚
只需按分组查看或在评论中说出您想要收到的内容,我会帮助您:)
SELECT distinct
H981.VISITID AS pat_no, H98.MED_REC_NO
FROM H98_Paradigm_Encounters H98
LEFT OUTER JOIN H98_MLO_Encounters H981
ON H98.MED_REC_NO=H981.EXTERNALID`
如果med_rec_no中的所有值包含与某个pat_no相同的值,则会起作用!!其他方式您需要使用group by(查看此主题Select first row in each GROUP BY group?)