这是我的问题查询:
TextStream.Position = 0
查询有效。问题在于,执行tgs.keyid = t.task_group的WHERE子句的部分过滤掉了这个条件不正确的结果(当然这是正确的)。
如果这个条件不为真,我怎么能修改这个查询并仍然得到tname,在这种情况下获得一个预定义的字符串为tgname?
当这个条件不成立时,为了给出一些额外的信息,t.task_group总是-1。在这种情况下,我想得到一个" N / A"的tgname。
我该怎么做?
答案 0 :(得分:0)
使用CASE...WHEN...ELSE...END
:
SELECT DISTINCT
t.name AS tname,
t.task_group AS tg,
CASE WHEN tgs.keyid = t.task_group THEN tgs.name ELSE 'something else' END AS tgname
FROM tasks AS t, task_users AS tu, task_groups AS tgs
WHERE (tu.worker = 1 AND t.keyid = tu.task);