看板 Database 關於我們 聯絡資訊
我有兩張資料表 表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
LPH66:having 改成 where 放在 group by 前面這樣試試? 03/07 16:45
LPH66:先用 where 篩過再 group by 起來應該就是你要的了... 03/07 16:46
f0987654:感謝L大,問題有修改可以在幫忙一下嘛? thx 03/07 17:28
※ 編輯: f0987654 來自: 175.180.185.77 (03/07 23:21)