【问题标题】:Select a dummy column with a dummy value in SQL?在 SQL 中选择具有虚拟值的虚拟列?
【发布时间】:2010-11-08 20:41:27
【问题描述】:

我有一张桌子,上面有以下内容

Table1
col1   col2
------------
 1      A 
 2      B
 3      C
 0      D

结果

col1   col2  col3
------------------
0       D     ABC

我不知道怎么写查询,col1和col2可以通过这个选择

select col1, col2 from Table1 where col1 = 0;

我应该如何添加一个值为 ABC 的 col3。

【问题讨论】:

    标签: sql


    【解决方案1】:

    试试这个:

    select col1, col2, 'ABC' as col3 from Table1 where col1 = 0;
    

    【讨论】:

    • 如何在 PostgreSQL 中做到这一点?
    • 它适用于 PostgreSQL,只需使用简单的引号作为值,不要使用双引号。
    • 可爱,因为我需要在数据表 ci3 上使用它,以选择随机不模棱两可的列
    • 使用 MySQL 版本:5.5.5-10.4.14-MariaDB
    【解决方案2】:

    如果您的意思只是 ABC 作为简单值,那么上面的答案是可以正常工作的。

    如果您的意思是连接主查询未选择的行的值,则需要使用子查询。

    这样的事情可能会奏效:

    SELECT t1.col1, 
    t1.col2, 
    (SELECT GROUP_CONCAT(col2 SEPARATOR '') FROM  Table1 t2 WHERE t2.col1 != 0) as col3 
    FROM Table1 t1
    WHERE t1.col1 = 0;
    

    实际语法可能有点偏

    【讨论】:

    • 如果是这种情况,SQL 将无法在所有数据库中运行,SQL Server 没有 Group_concat。但它看起来应该适用于 mysql
    • 你的回答在这里帮助了我stackoverflow.com/questions/21041668/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多