mysql如果没有在table1中那么从表2中获取

时间:2012-07-16 12:16:53

标签: mysql

我的数据库中有两个表,其中table1是临时的,table2是永久的。现在我需要编写查询,如果table1中匹配行的数量等于0,则从table2获取结果。在mysql中有没有可能做到这一点?如果是这样,怎么做?

4 个答案:

答案 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)

如果两个表中的数据相同,只需将两个查询联合起来,您将自动从一个或另一个中获取。