[SQL ] Join + group by 之後發生的問題
我有兩張資料表
表A checkname
id name
-------------
1 John
2 April
3 Jay
4 Jason
表B namelist
*表b id為fk
*namecheck 只是代表有沒有勾選(預設值0,1是有勾選)
id newid possiblename namecheck(0/1)
------------------------------------------------------
1 123 Elton John 1
1 456 Vector John 0
1 789 KK John 0
2 632 OO April 0
2 587 April ZZ 0
3 451 Jay Chou 1
3 577 Chou Jay 0
4 479 Mike Jason 0
4 985 Jason G. 1
最後我想把在checkname資料表中的名字
對應到namelist中的哪個namecheck=1項目
並且看看哪些還沒有勾選(同個id下,只要有個namecheck是1就代表填過了)
下了以下query
SELECT a.ID,a.Name as fullname,b.ID,b.possibleName,namecheck
FROM checkname a JOIN namelist b
on a.ID = b.ID
GROUP BY a.id
HAVING b.namecheck='0'
結果如下,變成每個群組(id相同)只要第一筆為0就挑出來
id fullname newid possiblename namecheck(0/1)
-------------------------------------------------
2 April 587 April ZZ 0
4 Jason 451 Mike Jason 0 --->這筆記錄應該是多餘的!
問題到底出在哪呢?
希望大家能幫忙解答一下,謝謝..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.180.185.77
推
03/07 16:45, , 1F
03/07 16:45, 1F
→
03/07 16:46, , 2F
03/07 16:46, 2F
→
03/07 17:28, , 3F
03/07 17:28, 3F
※ 編輯: f0987654 來自: 175.180.185.77 (03/07 23:21)