2013-06-12 4 views
0

Я пристрастился к этой проблеме и попытался ее исправить самостоятельно, но я не могу ее решить.Объединить столбцы из трех таблиц базы данных

У меня есть 3 таблицы в моей базе данных:

  1. сообщение
  2. Категория
  3. 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/using-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. –

Смежные вопросы