我的数据库中有两个表,其中table1是临时的,table2是永久的。现在我需要编写查询,如果table1中匹配行的数量等于0,则从table2获取结果。在mysql中有没有可能做到这一点?如果是这样,怎么做?
答案 0 :(得分:4)
SELECT (CASE WHEN t1.field <> 0 THEN t1.field ELSE t2.field END)
FROM table1 t1, table2 t2
答案 1 :(得分:2)
只需使用UNION
SELECT ID
FROM table1
WHERE somecondition
UNION
SELECT ID
FROM table2
WHERE somecondition
答案 2 :(得分:1)
这会有效..
SELECT
CASE
WHEN count(column) > 0 THEN COUNT(column)
END,
CASE
WHEN count(column) = 0 THEN (
select COUNT(col2) from table2
)
END
FROM table1
答案 3 :(得分:0)
如果两个表中的数据相同,只需将两个查询联合起来,您将自动从一个或另一个中获取。