我正在尝试编写一个查询,它将显示3列,如ID,类型和ReceTime。即使键入!= 1
,下面的查询也会显示ReceTime列值如果类型值为1,我想以某种方式修改它,然后根据查询给出我的ReceTime值,否则将null值放入其中。 ReceTime值来自记录器表中的时间列。
请帮助
SELECT ID,
type,
(SELECT (
CASE
WHEN c.type=1
AND c.ID = a.ID
THEN c.time
--else null
END )
FROM logger c
WHERE c.type=1
AND c.ID = a.ID
) AS ReceTime
FROM logger a;
答案 0 :(得分:3)
我认为以下代码适合您,
Select ID,
type,
CASE WHEN a.type=1 THEN a.time ELSE NULL END as ReceTime
from
logger a;
我不明白需要两次logger
表。
答案 1 :(得分:0)
不确定,为什么使用子查询进行ctype:
SELECT ID,
type,
CASE
WHEN type=1
THEN time
else null
END as ReceTime
FROM logger