我正在尝试在MySQL中为我的结果集添加一列输出。我可以通过执行两个单独的查询轻松获得这些结果,但我希望它们位于相同的结果集中,以便将它们一起导出。
无论如何,这就是我在做的事情:
select buildid, cast(status as char), eventtime from buildstatuses
where statustype = 8)
union all (select schedulerid, "", "" from builds
where builds.buildid in (select buildid from buildstatuses where statustype = 8));
我只将初始选择中列出的列作为输出:
构建状态事件时间
我没有得到我想要的其他专栏:schedulerid
任何想法?
由于
编辑:更新
select buildstatuses.buildid, cast(status as char), eventtime, "" as schedulerid
from buildstatuses
inner join builds
on buildstatuses.buildid = builds.buildid
where buildstatuses.statustype = 8;
这就是我现在所处的位置,即使使用别名,要添加的列ID仍然显示为空白
答案 0 :(得分:2)
select buildid, cast(status as char), eventtime, schedulerid from buildstatuses
inner join builds on buildstatuses.buildid = builds.buildid
where statustype = 8
UNION
只会选择两个表之间通用的列。
您正在寻找的是一个加入。
编辑:最初我误解了这个问题,并建议更改union
。我更新了答案以使用join
,它应该提供您想要的内容。