如何使用自定义文本在SQL查询中创建列

时间:2016-11-26 10:22:35

标签: mysql sql

是否可以使用sql查询创建自定义列,并在该查询中添加一些自定义文本,例如说该查询中的错误类型,或者我需要创建表,其中我将插入错误类型,并在加入后添加该列?

E.g查询看起来像这样(没有添加额外的列,它会说出什么是错误类型,因为,我不知道是否可以这样做)

SELECT id,aa,bb,NULL AS cc, NULL AS dd
FROM test
WHERE aa=SomeRequirement AND 
      bb=SomeRequirement

UNION ALL

SELECT id,NULL,NULL,cc,dd
FROM test2
WHERE cc=SomeRequirement AND
      dd=SomeRequirement

想要的结果是

id| TextForError               |  aa      |   bb    |    cc    |    dd
1 | thisRowIsNotGoodBecause..  |  someData| someData| someData | someData

还有一个问题,如果我需要创建包含我想要显示的错误的表,如果我没有可以引用该行典型错误的键,那么如何添加该错误呢?

3 个答案:

答案 0 :(得分:0)

你的意思是这样吗?

    SELECT
    id,
    CASE
    WHEN condition1 THEN 'Error Type 1'
    WHEN condition2 THEN 'Error Type 2'
    ELSE 'Unknown Error Type'
    END as Error,
    aa,
    bb,
    cc,
    dd

答案 1 :(得分:0)

@Strawberry写了所需要的东西,它只需要放

SELECT id,'my text error' as error,aa,bb,NULL AS cc, NULL AS dd
FROM test
WHERE aa=SomeRequirement AND 
      bb=SomeRequirement

这将是我想要的工作。

答案 2 :(得分:0)

条件:

如果列ColCompletedByColCompletedAt不为空,那么我必须显示'ARRIVED',否则如果不符合条件,'NOT ARRIVED'将显示在自定义列{ {1}}。

ColCustomStatus

注意:(SELECT VanColId, CASE WHEN ColCompletedBy IS NOT NULL AND ColCompletedAt IS NOT NULL THEN 'ARRIVED' ELSE 'NOT ARRIVED' END AS ColCustomStatus FROM VanTableEvents) vanEvt 是表vanEvt的别名,此查询使用VanTableEvents进行测试

希望它会希望很多人。