Mysql - 选择一个值,如果它存在于table1中,否则如果不存在,则从table2中选择它

时间:2017-02-02 13:06:39

标签: mysql

我有两个表(table1和table2)。我想从table1或table2中选择用户密码,如果他们的用户名存在于其中一个表中。

此外,假设用户名对两个表都是唯一的,因此不会有任何重复。

Sudo代码

SELECT table1.password 
  FROM table1 
WHERE table1.username = ?

OR #(if not found)

SELECT table2.password
  FROM table2
WHERE table2.username = ?
外卡在哪里? =给定的用户名。

我只希望使用密码值返回一列。

2 个答案:

答案 0 :(得分:1)

如果您确定用户名对两个表都是唯一的,则可以使用Oracle.DataAccess.Client子句:

union

答案 1 :(得分:1)

这样的东西只能用üassword

给出一行
SELECT result.password 
FROM (
        SELECT 1 AS id,table1.password 
        FROM table1 
        WHERE table1.username = ?
    UNION ALL
        SELECT 2,table2.password 
        FROM table2 
    WHERE table2.username = ?
) AS result 
ORDER BY id
LIMIT 1;