2013-06-29 37 views
0

刪除重複記錄,這是學生表中的學生有兩個科目的數學和閱讀如何從表

兩個主題具有相同的ID註冊,我想只顯示數學的學生 這裏的condtion是主鍵(SID,學科);

sid fname lname subject phno 
--- ----- ----- -------- ----- 
1  vvk  v  math  4444 
1  vvk  v  read  4444 
2  hari h  math  5555 
2  hari h  read  5555 

3  kalyan k  read  6666 

我怎樣才能從學生顯示一個記錄有采取主題數學或閱讀,就像這樣:

1  vvk  v  math  4444 
2  hari h  math  5555 
3  kalyan k  math  6666 

這裏SID和主題是複合主鍵 如果請來信查詢上述結果在mysql中

+3

問題是不明確的,什麼是需要的預期輸出查詢? – udalmik

+1

你應該改變你的表格結構,這個表格結構沒有標準化,也就是使主題變成逗號分隔的主題列表,或者製作一張單獨的表格,將你的人員表格與主題聯繫起來。 http://www.devshed.com/c/a/MySQL/An-Introduction-to-Database-Normalization/ –

+1

由於主題欄中的行不同,因此沒有重複內容。你如何選擇是否要顯示數學或閱讀? –

回答

2

就像我在我的評論中提到的,你應該規範你的表格,你當前的結構是不合適的。

在此之前使用組GROUP_CONCAT一起,將集團共同科目爲一個字段

SELECT 
    sid,fname,lname,phno,group_concat(subject) as subjects 
FROM 
    tablename 
GROUP BY 
    sid 

會產生一種類似

3 kalyan k 6666 math,read