我想在1个单列中添加连接查询的多个值。有没有办法做到这一点?
这是一个小提琴:http://sqlfiddle.com/#!9/90540/1
这是一个应该如何结果的屏幕 http://i60.tinypic.com/5pk7yg.png"结果"
答案 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!