联合查询与不同数量的列

时间:2012-12-19 11:55:50

标签: mysql select union

这肯定是一个简单的问题,但我无法修复MySQL查询: 我想在准备好的查询下面运行

select id from table1 where c_id = :c_id 
union 
select id,name from table2 where c_id = :c_id and temp = :temp

所以我在每个表select的输出中有不同数量的列。这是它不起作用的原因吗?

1 个答案:

答案 0 :(得分:2)

您可以SELECT第一个查询中的文字值,如下所示:

SELECT id, 'no name' AS "name" FROM table1 WHERE c_id = :c_id
UNION ALL
SELECT id, name                FROM table2 WHERE c_id = :c_id 
                                             AND temp = :temp;