我试图用concat和内部联接创建一个sql查询。 没有内连接一切正常,使用内连接我得到:
ERROR 1054(42S22):未知专栏' kk.kundennummer'在'字段列表'
这是我的疑问:
select
kk.kundennummer as customer_id,
kk.nummer as customer_nr,
substr(`name`, 1, (length(`name`) - length(
SUBSTRING_INDEX((`name`), ' ', -1))-1)
) as first_name,
substring_index(`name`,' ',-1) AS last_name,
k.name1 as company_name,
kk.Abteilung as department,
concat(`kk.kundennummer`,`kk.Nummer`) as customer_key,
kk.Telefon as phone,
kk.Telefax as fax,
kk.Handy as mobile,
kk.E_Mail as email,
kk.Geburtstag as birthday,
kk.Autotelefon as mobile2
from kundenkontakt kk
inner join kunden k on (k.Kundennummer = kk.Kundennummer)
where kk.E_Mail != "";
我做错了什么?
此致
答案 0 :(得分:2)
问题在于这行代码(以及我可能错过的任何类似代码):
concat(`kk.kundennummer`,`kk.Nummer`) as customer_key,
你没有名为" kk.kundennummber" (使用" kk。"作为列名称的一部分)。只需删除反引号:
concat(kk.kundennummer, kk.Nummer) as customer_key,
嗯,这是不在编写代码时使用反引号的一个很好的理由。我认为它们只会使查询混乱(除非绝对必要),但它们也会导致意外错误。