如何根据查询返回额外的动态列?

时间:2015-12-28 07:10:23

标签: mysql sql

我想基于某些查询返回额外的动态列。假设我有一个名为Table_A的表,其中包含列A,B,C

如果我想返回额外的列,我将按以下方式执行

SELECT A,B,C,D=1
FROM Table_A

D是具有1个值的额外列。有没有办法把查询放在D上:

选择SELECT A,B,C,D =(//我想放置将返回1或0的查询)     FROM Table_A

我可以这样做吗?

2 个答案:

答案 0 :(得分:1)

是的,这样

SELECT A,
       B,
       C,
       (SELECT somecol
        FROM   sometable
        ORDER  BY somecol
        limit 1) AS D
FROM   Table_A 

LIMIT:为了避免sub-query返回多行(如果有的话)

答案 1 :(得分:0)

您可以使用子查询。

SELECT A,B,C, (
   SELECT Some_Column FROM Some_Table) AS D
FROM Table_A

您还可以在子查询的where子句中使用Table_A中的列。 请注意,子查询可能导致性能不佳,因为它们会针对每个结果行进行处理。