mySQL中的条件查询

时间:2013-02-12 09:17:59

标签: mysql sql

嗨我想在某些条件下选择查询库,如下所示。我怎样才能实现?

if var1>var2 then

SELECT * from table1;
ELSE
SELECT * from table2;
end if

先谢谢。

2 个答案:

答案 0 :(得分:1)

在此处创建STORED PROCEDURE

DELIMITER $$
CREATE PROCEDURE procName(IN _val1 INT, IN _val2 INT)
BEGIN
    IF _var1 > _var2 THEN
        SELECT * from table1;
    ELSE
        SELECT * from table2;
    END IF;
END $$
DELIMITER ;

当你打电话给程序时,

CALL procName(1,2)

答案 1 :(得分:0)

这样的东西?

SELECT * from table1 WHERE var1>var2
UNION ALL
SELECT * from table2 WHERE var1<=var2

编辑:根据你的评论,也许你需要这样的查询:

SELECT Column1, Column2, Column3
FROM (
  SELECT 1 as Tab, Column1, Column2, Column3
  FROM Table1
  UNION ALL
  SELECT 0 as Tab, 'Value1', 'Value2', 'Value3'
) s
WHERE Tab = ((SELECT COUNT(*) FROM Table1)>10)

如果行数超过10行,则返回table1中的所有行,否则返回单行(数据库中不存在)。