MySQL左连接返回错误
问题描述:
也许我只是没有做过长时间的左连接,但我很困惑。MySQL左连接返回错误
这里是我的表:
Table: user_phones
user phone carrier
----------------------------
danny 5045551234 Verizon
mom 5551234567 T-Mob
tony 5121234567 T-Mob
Table carriers
carrier email_exchange
--------------------------
Verizon vtext.com
T-Mob tmomail.net
这里是我的查询:
SELECT user, CONCAT(phone, '@', email_exchange) AS sms
LEFT JOIN carriers ON (user_phones.carrier = carriers.carrier)
FROM user_phones
而且我不断收到回:
“LEFT JOIN运营商ON(user_phones.carrier = carriers.carrier)FROM user_phones'
我知道这是一个笨蛋监督,但变化无济于事(将ON
条款放在括号内等)不起作用。
我在哪里滑倒?
答
你错过了FROM user_phones
SELECT a.`user`,
CONCAT(a.`phone`, '@', b.`email_exchange`) AS sms
FROM user_phones a LEFT JOIN carriers b
ON a.carrier = b.carrier
答
把你FROM
条款您LEFT JOIN
SELECT `user`, CONCAT(phone, '@', email_exchange) AS sms
FROM user_phones LEFT JOIN carriers ON user_phones.carrier = carriers.carrier
A小调的建议,然后将使用自动增量id
场在carriers
表,更新user_phones.carrier
持有那些id
S,并加入上。 HTH
答
尝试:
SELECT user, CONCAT(phone, '@', email_exchange) AS sms
FROM user_phones
LEFT JOIN carriers ON (user_phones.carrier = carriers.carrier)
我想你需要* FROM *之前* LEFT JOIN * – pd40
如下文所述,我的脑海里吹了垫圈我很迷惑'FROM'和'WHERE'。告诉你这是一个笨蛋的疏忽。 – Anthony
“键盘和椅子之间发生错误。”我们都去过那里。 – Malvolio