我拥有的是 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/