【问题标题】:Concat / Inner Join MySQLConcat / 内连接 MySQL
【发布时间】:2016-01-08 23:10:02
【问题描述】:

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

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

我做错了什么?

问候

【问题讨论】:

  • 您是否在区分大小写的系统上,其中大写 K 与小写 k 不同?

标签: mysql join concat


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 谢谢!我搜索了很久。
猜你喜欢
  • 2018-09-04
  • 2017-07-25
  • 2018-07-12
  • 2023-03-14
  • 2015-12-16
  • 2016-09-11
  • 2015-12-11
  • 2015-10-06
  • 1970-01-01
相关资源
最近更新 更多