根据另一个字段合并一行结果

时间:2014-06-05 13:42:10

标签: php mysql sql merge

下面是源表和我想要实现的输出。

enter image description here

我希望每个another_table.id只在输出中出现一次,后续值显示在新列中

1 个答案:

答案 0 :(得分:0)

根据你问题中的表格,这将为你提供输出。用CTE代替子查询以增加清晰度......

with intials as(
SELECT id, 
another_table.id as another_table_id,
value as field_1
FROM
main_table
WHEN
variable.id = 1),

finals as(
SELECT id, 
another_table.id as another_table_id,
value as field_1
FROM
main_table
WHEN
variable.id = 2)

SELECT
initials.id,
initials.another_table_id
initials.value field_1,
finals.value field_2
FROM
initials
LEFT OUTER JOIN
finals on initials.another_table_id = finals.another_table_id;
相关问题