Sql 来自单个列的多个AS语句

Sql 来自单个列的多个AS语句,sql,Sql,我对SQL相当陌生,遇到了一个让我困惑的问题。解释一下我想做什么比较容易。我有一个表,它有一列t.number,其中包含4、6或我不感兴趣的内容。它对应于一个文本字段,t.text。下面是我想做的伪代码: if (t.number == 4) t.text as ImAFour else if (t.number == 6) t.text as ImASix 我试图写的每件事都会以重复条目或重写而告终。有什么想法吗?您可以尝试以下方法: SELECT CASE t.numb

我对
SQL
相当陌生,遇到了一个让我困惑的问题。解释一下我想做什么比较容易。我有一个表,它有一列
t.number
,其中包含4、6或我不感兴趣的内容。它对应于一个文本字段,
t.text
。下面是我想做的伪代码:

if (t.number == 4)
   t.text as ImAFour
else if (t.number == 6)
   t.text as ImASix

我试图写的每件事都会以重复条目或重写而告终。有什么想法吗?

您可以尝试以下方法:

SELECT
    CASE t.number WHEN 4 THEN t.text ELSE '' END AS ImAFour,
    CASE t.number WHEN 6 THEN t.text ELSE '' END as ImASix,
    ....
FROM table t

确切的语法将取决于您的RDBMS,它在原始问题中没有标记。

请参阅SQL CASE语句的以下帖子:太好了,看起来不错,现在再次请原谅我缺乏经验,但我可以将此select语句嵌入我的主select语句吗?我没有提到,但还有一些其他领域正在拉,但我尝试了一个版本的,它导致重复。我会做什么:选择t.1,t.2,选择“你的代码”?类似于selectfield1,field2。。。案例t.number当为4时,则t.text ELSE“”结束为ImAFour,案例t.number当为6时,则t.text ELSE“”结束为ImASix。。。从表t…中,每个case语句在查询结果集中成为一个单独的列/字段。