连接/内部连接 ​​MySQL

Concat / Inner Join MySQL

我正在尝试使用连接和内部联接创建 sql 查询。 没有内部连接一切正常,使用内部连接我得到:

ERROR 1054 (42S22): Unknown column 'kk.kundennummer' in 'field list'

这是我的查询:

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 != "";

我做错了什么?

此致

问题出在这行代码(以及我可能遗漏的任何类似代码):

concat(`kk.kundennummer`,`kk.Nummer`) as customer_key, 

您没有名为 "kk.kundennummber" 的列("kk." 作为列名的一部分)。只需删除反引号:

concat(kk.kundennummer, kk.Nummer) as customer_key, 

嗯,这是写代码时使用反引号的一个很好的理由。我认为它们只会使查询混乱(除非绝对必要),但它们也可能导致意外错误。