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

标签 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'
)

我想返回字段 address, suburb, city, postCode, province 与电子邮件 example@example.com 用户 ID 匹配的字段值>。 (这可能在两个表中的任何一个中,但肯定在一个或另一个中)

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

最佳答案

这个怎么样:

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'

关于MYSQL - 如何选择 CASE(两个表,如果一个不存在,请检查另一个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11126379/

相关文章:

javascript - grails g :select item as optionValue

SQL - 组合 DISTINCT 和 INNER JOIN 以及 COUNT(CASE WHEN)

MySQL:检查查询中是否存在数据

php - 写入 Joomla 数据库

php - MySql 查询 - 使用 varchars、索引进行优化,运行需要一个多小时

mysql - 使用 mysqli 查询从树形菜单中查找子级的深度

entity-framework - Entity Framework 中的 GROUP 和 SUM

mysql - 错误代码 : 1648. 条件项 'MESSAGE_TEXT' 的数据太长

c - 在 Linux 的事件循环中使用 select() 系统调用

MySQL:添加到计数大小写...然后