SQL - 在1列中添加多个值

时间:2015-05-13 22:13:00

标签: mysql sql

我想在1个单列中添加连接查询的多个值。有没有办法做到这一点?

这是一个小提琴:http://sqlfiddle.com/#!9/90540/1

这是一个应该如何结果的屏幕   http://i60.tinypic.com/5pk7yg.png"结果"

1 个答案:

答案 0 :(得分:1)

好的就是这个问题,我(我相信这里的很多人)并不知道这个查询的重点是什么,你希望通过这个目标实现什么目标。

为了获得理想的结果,你可以做这样的事情......

SELECT CASE WHEN p.id = 1 THEN p.id END AS col1,
       CASE WHEN p.id = 1 THEN p.`value` END AS col2,
       CASE WHEN p.id = 1 THEN (SELECT id FROM site_gender WHERE id = 2) END AS col3, 
       CASE WHEN p.id = 1 THEN (SELECT `value` FROM site_gender WHERE id = 2) END AS col4,
       a.id, a.email 
FROM site_gender AS p
JOIN user_account AS a ON p.id = a.id

但是这个查询没有多大意义,你会得到理想的结果,但我不知道你可以用它来做什么。

这是Fiddle,可以看到那里发生的事情......

但是,如果你稍微更改一下 site_gender 并为她添加一个专栏,请将其称为,而不是像这样查询

SELECT p.id, p.value, x.id, x.value, a.id, a.email 
FROM site_gender AS p
INNER JOIN site_gender AS x
ON p.id = x.parent
JOIN user_account AS a 
ON p.id = a.id

以下是SQL fiddle,了解它的外观和工作方式......

拥有列的意思是,当您有更大的表时,您可以选择要连接的哪两列,这样父列将存储列的ID,该列应该连接... < / p>

如果您有任何进一步的问题,请随意提问!

GL!