で明確な次のように私はこのクエリを持っている、それは正しい結果を返しますが、私はダウンlnk_ID
(3列目)の選択を狭くするGROUP BYまたはDISTINCTを使用したいGROUP BYまたはマルチテーブルクエリ
私はそれらの両方を試しましたが、毎回失敗します。
SELECT dmg.dmg_FirstName,
dmg.dmg_Surname,
lnk.lnk_ID,
dlk.dlk_AssessDate,
dmg.dmg_Sex,
trn.ScotHealthboard
FROM DAILY_LINK dlk
JOIN Absent ab ON ab.ScotRefID = dlk.dlk_ID
JOIN Link lnk ON lnk.lnk_ID = ab.Person_ID
JOIN Demographic dmg ON dmg.dmg_ID = lnk.lnk_dmgID
JOIN Training trn ON trn.Trn_ID = ab.Training_ID
WHERE dlk.dlk_AssessDate >= '2015/01/01' AND dlk.dlk_AssessDate <= '2015/12/01'
ORDER BY dmg.dmg_Surname, dmg.dmg_FirstName, lnk.lnk_ID;
Nuha Abdelwahab 566106181 16/07/2015 00:00:00 Tayside
Nuha Abdelwahab 566106181 16/07/2015 00:00:00 Tayside
Nuha Abdelwahab 566106181 16/07/2015 00:00:00 Tayside
Nuha Abdelwahab 566106181 16/07/2015 00:00:00 Tayside
Nuha Abdelwahab 566106181 16/07/2015 00:00:00 Tayside
Nuha Abdelwahab 566106181 16/07/2015 00:00:00 Tayside
Nuha Abdelwahab 566106181 16/07/2015 00:00:00 Tayside
Patricia Agnew 566106230 17/09/2015 00:00:00 Female Dumfries and Galloway
Patricia Agnew 566106230 17/09/2015 00:00:00 Female Dumfries and Galloway
Patricia Agnew 566106230 17/09/2015 00:00:00 Female Dumfries and Galloway
Patricia Agnew 566106230 17/09/2015 00:00:00 Female Dumfries and Galloway
Patricia Agnew 566106230 17/09/2015 00:00:00 Female Dumfries and Galloway
Patricia Agnew 566106230 17/09/2015 00:00:00 Female Dumfries and Galloway
Patricia Agnew 566106230 17/09/2015 00:00:00 Female Dumfries and Galloway
Patricia Agnew 566106230 17/09/2015 00:00:00 Female Dumfries and Galloway
Richard Airey 566105926 15/01/2015 00:00:00 Male Tayside
Richard Airey 566105926 15/01/2015 00:00:00 Male Tayside
Aileen Allan 566105477 25/09/2015 00:00:00 Female Forth Valley
Aileen Allan 566105477 25/09/2015 00:00:00 Female Forth Valley
Aileen Allan 566105477 25/09/2015 00:00:00 Female Forth Valley
Aileen Allan 566105477 25/09/2015 00:00:00 Female Forth Valley
Aileen Allan 566105477 25/09/2015 00:00:00 Female Forth Valley
Aileen Allan 566105477 25/09/2015 00:00:00 Female Forth Valley
Aileen Allan 566105477 25/09/2015 00:00:00 Female Forth Valley
期待される結果
Nuha Abdelwahab 566106181 16/07/2015 00:00:00 Tayside
Patricia Agnew 566106230 17/09/2015 00:00:00 Female Dumfries and Galloway
Richard Airey 566105926 15/01/2015 00:00:00 Male Tayside
Aileen Allan 566105477 25/09/2015 00:00:00 Female Forth Valley
FAILED以下
SELECT dmg.dmg_FirstName,
dmg.dmg_Surname,
DISTINCT (lnk.lnk_ID),
dlk.dlk_AssessDate,
dmg.dmg_Sex,
trn.ScotHealthboard
FROM DAILY_LINK dlk
JOIN Absent ab ON ab.ScotRefID = dlk.dlk_ID
JOIN Link lnk ON lnk.lnk_ID = ab.Person_ID
JOIN Demographic dmg ON dmg.dmg_ID = lnk.lnk_dmgID
JOIN Training trn ON trn.Trn_ID = ab.Training_ID
WHERE dlk.dlk_AssessDate >= '2015/01/01' AND dlk.dlk_AssessDate <= '2015/12/01'
AND
SELECT dmg.dmg_FirstName,
dmg.dmg_Surname,
lnk.lnk_ID,
dlk.dlk_AssessDate,
dmg.dmg_Sex,
trn.ScotHealthboard
FROM DAILY_LINK dlk
JOIN Absent ab ON ab.ScotRefID = dlk.dlk_ID
JOIN Link lnk ON lnk.lnk_ID = ab.Person_ID
JOIN Demographic dmg ON dmg.dmg_ID = lnk.lnk_dmgID
JOIN Training trn ON trn.Trn_ID = ab.Training_ID
WHERE dlk.dlk_AssessDate >= '2015/01/01' AND dlk.dlk_AssessDate <= '2015/12/01'
GROUP BY lnk.lnk_ID;
狭いかを選択?期待される結果を示してください。 – jarlh
その結果、重複する名前が多数表示されます。結果全体にDISTINCT LNK_ID値のようなIDがあります。 1分で何かを投稿します。 – morne
あなたの出力によれば、単純に 'SELECT DISTINCT'に切り替えるのはそのトリックを行うようです。 – jarlh