我穿越我的一切,这是可能的...的MySQL如果查询返回任何内容,尝试第二个查询
我现在有一个使用UNION ALL加入一堆查询起来有些SQL。所有内容都很重要,因为这些查询可能会返回相同的记录,而且我需要每个实例。
不幸的是,单个的SELECT没有很好的想法。它们合并了一个WHERE子句,它返回值与用户输入值匹配的所有记录,或者是NULL,现在我需要这些来只返回匹配的记录,或者只返回仅返回NULL的记录什么是第一次尝试返回...
换句话说,我有这样的事情......
SELECT foo,bar
FROM foobar
WHERE foo = bar
OR foo IS NULL
UNION ALL
SELECT foo,bar
FROM foobar
WHERE foo = bar
OR foo IS NULL
和我,而不是需要这样的事情...
(
TRY..
SELECT foo,bar
FROM foobar
WHERE foo = bar
..nothing? TRY..
SELECT foo,bar
FROM foobar
WHERE foo IS NULL
)
UNION ALL
(
TRY..
SELECT foo,bar
FROM foobar
WHERE foo = bar
..nothing? TRY..
SELECT foo,bar
FROM foobar
WHERE foo IS NULL
)
这可能吗?如果是这样,一个工作的例子会是什么样的?
似乎在联盟的两个查询是相同的,所以..你想获得结果两次? – scaisEdge
我只是为了这个例子而简化了。真正的脚本中实际上有数百个UNION ALL的不同查询。 – Ric
对不起,但在你提出的方式,我不明白这个问题..尝试添加一个数据样本和预期的结果。 – scaisEdge