2013-06-12 417 views
0

我對這個問題上癮,並試圖自己修復它,但我無法解決它。合併來自三個不同數據庫表的列

我有我的數據庫3個表:

  1. 類別
  2. jo_post_cat

如何使用SQL語句如下:

SELECT * 
FROM post 
INNER JOIN jo_post_cat on post.ID = jo_post_cat.j_postid 
LEFT JOIN category as ca on jo_post_cat.j_catid = ca.ca_id 

從圖片您將看到ID不是唯一的,但是與我的ca_idca_name它是唯一的。我想在同一行中合併ca_idca_name?我想用這種格式Num 1, Num 2

+0

問題的可能重複,這裏http://stackoverflow.com/問題/ 8700961 /使用-coalesce-function-to-make-values-separated-with-commas –

+0

將「select *」更改爲「只選擇您需要的內容」。 –

回答

0

你需要在同一行顯示ca_id和ca_name?像ca_id-ca_name如果是這種情況,那麼追加兩列數據並顯示。

+0

是的,我希望它出現在同一行中。 我應該使用該命令嗎? –

+0

你可以嘗試下面的代碼 SELECT(ID +' - '+ name)AS ID FROM tablename – SeeSharp

+0

我不希望這是一個ca_id,ca_name。 但我想讓你。將第二行數據放入數據行1. 合併時,這些數據將爲ca_id = 1,2 = 1-num,num2 ca_name。 –

0

這應該給你你在找什麼,如果你使用SQL Server

SELECT 'Num' + ca.ca_id + ', ' + ca_name AS combinedName 
FROM post 
    INNER JOIN jo_post_cat on post.ID = jo_post_cat.j_postid 
    LEFT JOIN category as ca on jo_post_cat.j_catid = ca.ca_id 

這將返回

combinedName 
Num 1, Num 1 
Num 2, Num 2 
+0

我試圖將這個代碼應用到SQL中運行,但它根本沒有。結果是一樣的。這些數據不包括單行。 –

+0

對不起,但我不確定那是什麼意思。改變你的SELECT語句不會影響返回多少行。 –

+0

如果這不能在一個SQL語句中完成,必須在代碼中做出來? 如果您曾經這樣做過?我如何使用ColdFusion語言。 –

相關問題