4

私が持っているのは、mysqlデータベース内の2つのテーブルです。

1つのテーブルには、値を持つフィールドが含まれています"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ユーザーのIDとメールアドレスが一致するフィールドの値を返したいのですがexample@example.com。(これは2つのテーブルのいずれかにある可能性がありますが、確かにどちらかにあります)

誰かが私がこれでどこが間違っているのかについて私に教えてもらえますか?この点に関する情報をいただければ幸いです。ありがとう!

4

3 に答える 3

4

これはどう:

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'
于 2012-06-20T19:03:58.160 に答える
1

これは、を使用する場所ですUNION

于 2012-06-20T19:03:26.860 に答える
1
SELECT address, suburb, city, postCode, province 
FROM user_postal
        INNER JOIN user_business_info ON (user_postal.id = user_business_info.id AND user_info.emailContact = 'example@example.com')
                                        OR (user_postal.id = user_info.id AND user_business_info.emailContact = 'example@example.com')
于 2012-06-20T19:05:04.443 に答える