2009-06-12 104 views
1

我想在mysql查詢中獲取First_Name,LastName,First Name Last Name的所有記錄。如何使用MySQL查詢獲取值?

例如,

mytable的是這樣的:

rec Id  First Name  Last Name 
1   Gnaniyar  Zubair 
2   Frankyn  Albert 
3   John   Mathew 
4   Suhail   Ahmed 

輸出應該是這樣的:

Gnaniyar Zubair, Frankyn Albert, John Mathew, Suhail Ahmed 

給我的SQL。

回答

6

如果必須在查詢完成後,你可以使用GROUP_CONCAT,但除非你的東西分組是一個非常愚蠢的查詢和連接應該在客戶端上完成。

SELECT GROUP_CONCAT(FirstName + ' ' + LastName 
        ORDER BY FirstName, LastName 
        SEPARATOR ', ') AS Names 
FROM People; 
0

這不是一個包含所有記錄的行,而是一個表示數據的問題。因此,我建議採取一個簡單的SELECT查詢,獲取您需要的記錄,然後按照您的喜好將它們排列在視圖圖層中。

另一方面,爲什麼你需要在SQL級而不是在視圖級別解決這個記錄串聯?

0

如果你想讓它們在一行中,你可能沒有正確使用你的數據庫。

如果你只是想加入一起的姓氏和名字,這很簡單:

SELECT CONCAT(`First Name`, ' ', `Last Name`) FROM mytable 
+0

嗨朋友,感謝您的即時回覆。這是正確的查詢。但是所有4條記錄都會顯示這個連接...我想要全部在單行中。 查詢將使得像輸出, Gnaniyar祖拜爾 Frankyn偉業, 約翰·馬修, Suhail艾哈邁德 (共4條) 但我想只有一個記錄一樣, Gnaniyar祖拜爾,Frankyn阿爾伯特,約翰馬修,蘇哈伊艾哈邁爾 在此先感謝 - Gnaniyar Zubair – 2009-06-12 11:23:34

+0

就像我說的,你沒有正確使用你的數據庫。正如其他人所建議的那樣,認爲GROUP_CONCAT結構可能有所幫助。 – nickf 2009-06-12 11:31:56