3

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

4

4 回答 4

4
SELECT (CASE WHEN t1.field <> 0 THEN t1.field ELSE t2.field END) 
FROM table1 t1, table2 t2
于 2012-07-16T12:31:09.757 回答
2

只需使用UNION

SELECT ID 
FROM table1 
WHERE somecondition
UNION
SELECT ID 
FROM table2 
WHERE somecondition
于 2012-07-16T12:36:32.723 回答
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
于 2012-07-16T12:32:55.297 回答
0

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

于 2012-07-16T12:35:15.760 回答