MYSQL - 如何 SELECT CASE(两个表,如果一个表中不存在,请检查另一个表)

Cra*_*der 4 mysql select case

我所拥有的是 mysql 数据库内的两个表。

一张表包含具有值的字段"example@example.com"

另一张桌子没有...

我想做的是检查两个表中是否有值匹配的字段"example@example.com"

这是我的查询不起作用:

(#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 13)

SELECT CASE WHEN
EXISTS (
    SELECT address, suburb, city, postCode, province
    FROM user_postal
    INNER JOIN user_info ON user_postal.id = user_info.id
    WHERE user_info.emailContact = 'example@example.com'
)
OR EXISTS (
    SELECT address, suburb, city, postCode, province
    FROM user_postal
    INNER JOIN user_business_info ON user_postal.id = user_business_info.id
    WHERE user_business_info.emailContact = 'example@example.com'
)
Run Code Online (Sandbox Code Playgroud)

我想返回与address, suburb, city, postCode, province用户 id 和 email 相匹配的字段值example@example.com。(这可能在两个表中的任何一个中,但它肯定在一个或另一个中)

谁能告诉我我哪里出了问题?任何这方面的信息将不胜感激。谢谢!

blu*_*tor 5

这个怎么样:

SELECT address, suburb, city, postCode, province
FROM user_postal
INNER JOIN user_info ON user_postal.id = user_info.id
WHERE user_info.emailContact = 'example@example.com'

UNION

SELECT address, suburb, city, postCode, province
FROM user_postal
INNER JOIN user_business_info ON user_postal.id = user_business_info.id
WHERE user_business_info.emailContact = 'example@example.com'
Run Code Online (Sandbox Code Playgroud)