1
我想创建一个MyQSL查询类似追加到MySQL的结果,如果在不为1列的结果
SELECT person, city FROM mytable
UNION
SELECT 'BOB', 'Chicago' IF 'BOB' NOT IN (SELECT person FROM mytable);
如果“BOB”在结果未返回,我想给他追加到结果并列举他在芝加哥。如果BOB确实回来了,不管他的位置是什么,我都不想把他追加到芝加哥。
如果我完全匹配列,我可以做这项工作,但如果他被列为除芝加哥以外的其他地方,我最终会得到多个BOB结果。
SELECT person, city FROM mytable
UNION
SELECT 'BOB', 'Chicago'
但我不想匹配的位置。只是这个人的名字。
谢谢那有效......但什么是“双重”? – Chris
'dual'对于那些喜欢总是指定表名的人来说,当没有具体的表来从中获取数据时,'dual'是一种方便。在mySql和MSSQL中它不是必需的,因为它在Oracle中。但是,如果您需要指定WHERE,它仍然是必需的。例如:'select 1'与'select 1 from dual'相同,但'select'ok'where 0 = 0'不起作用,您需要'dual'在这里,'select'ok'from dual',其中0 = 0 ' –