Concat / Inner加入MySQL

时间:2015-10-11 12:03:43

标签: mysql join concat

我试图用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 != "";

我做错了什么?

此致

1 个答案:

答案 0 :(得分:2)

问题在于这行代码(以及我可能错过的任何类似代码):

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

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

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

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