看板 Database 關於我們 聯絡資訊
為什麼文中說的是MSSQL,可是後面寫的是MySQL@@ 我用MSSQL寫 select isnull(M.org, F.org), isnull(M.MCount,0), isnull(F.FCount,0) from ( select org, count(*) as MCount from readerInfo where sex = '男' group by org ) M full outer join ( select org, count(*) as FCount from readerInfo where sex = '女' group by org ) F on F.org = M.org '男'和'女'請自行代換成資料庫內的男女代碼 ※ 引述《drinks (爪哇工程師)》之銘言: : 請問 我現在有個 : table readerInfo : sex(性別), : org(單位), : name, : code, : ..., : 我現在想要針對這table做 下group 指令(做報表) : ------------------------- : | 序號 | 館別 | 男 | 女 | : ------------------------- : | 1 | org1 | 12 | 21 | <==這是我想要的樣子 : ------------------------- : | 2 | org2 | 33 | 44 | : ------------------------- : | 3 | org3 | 0 | 4 | : ------------------------- : | 4 | org4 | 77 | 12 | : ------------------------- : 我現在下的語法是 : select count(*) from reader a group by sex,org; : 結果 會是 : ------------- : | 序號 | | : ------------- : | 1 | 12 | : ------------- : | 2 | 21 | : ------------- : | 3 | 33 | : ------------- : | 4 | 44 | : ------------- : 結果...恩...應該是有對(數字都對) 只是不是我想要的樣子 : 所以現在 我就去select 所有 org : 然後把得到的結果 : 用迴圈處理 : select * from reader a where a.org =? group by a.sex; : 就可以得到最上面的結果 查詢次數 是 1+(org個數)次 : 可是我覺得 應該可以不用程式 就可以用sql語法下出來 : 只是我不會下.......(我sql學的不是很好><) : 所以,想請問高手 有辦法用 一次 sql 下的出來嗎? : 我是用 ms sql server 2003 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.20.100.62 ※ 編輯: Antzzz 來自: 211.20.100.62 (11/12 19:38)
drinks:因為 我ms sql 倒不出來 所以用mysql 再創一個 >< 11/12 20:20
drinks:感謝你的回答 ,我試試看 謝謝你! 11/12 20:28