【问题标题】:Column 'date_start' in where clause is ambiguouswhere 子句中的列“date_start”不明确
【发布时间】:2019-10-09 22:15:14
【问题描述】:

我想选择某个日期,但我对此有疑问

SELECT DISTINCT `clients_agreements`.`date_start` , `buildings`.`id` ,
    `buildings`.`street` , `buildings`.`street_nr` ,
    `clients`.`building_id` , `clients_agreements`.`user_id`, `clients_agrees_conds`.`user_id`, `clients_agrees_perss`.`client_agreement_id`
FROM `clients_agreements`
LEFT JOIN `buildings`
    On `clients_agreements`.`user_id` = `buildings`.`id`
LEFT JOIN `clients`
    ON `clients`.`building_id` = `buildings`.`id`
LEFT JOIN `clients_agrees_conds`
    ON `clients_agreements`.`user_id` = `clients_agrees_conds`.`user_id`
LEFT JOIN `clients_agrees_perss`
   ON `clients_agrees_conds`.`user_id` = `clients_agrees_perss`.`user_id`
WHERE `date_start` = (CURRENT_DATE)

我明白了:

错误 #1052 - where 子句中的列 'date_start' 不明确

【问题讨论】:

  • date_start 存在于多个表中,您需要为要使用的表添加表名,就像查询中的其他字段一样

标签: mysql mysql-error-1052


【解决方案1】:

Where 子句应包含 date_start 的别名以指向特定表:

        SELECT DISTINCT `clients_agreements`.`date_start` , `buildings`.`id` , `buildings`.`street` , `buildings`.`street_nr` , `clients`.`building_id` , `clients_agreements`.`user_id`, `clients_agrees_conds`.`user_id`, `clients_agrees_perss`.`client_agreement_id` 
        FROM `clients_agreements` 
        LEFT JOIN `buildings` On `clients_agreements`.`user_id` = `buildings`.`id` 
        LEFT JOIN `clients` ON `clients`.`building_id` = `buildings`.`id` 
        LEFT JOIN `clients_agrees_conds` ON `clients_agreements`.`user_id` = `clients_agrees_conds`.`user_id` 
        LEFT JOIN `clients_agrees_perss` ON `clients_agrees_conds`.`user_id` = `clients_agrees_perss`.`user_id` 
        WHERE `clients_agreements`.`date_start` = (CURRENT_DATE)

【讨论】:

  • 你怎么知道这是正确的别名/表?
  • 他使用了与他的问题选择语句中使用的@JustNone 相同的列
【解决方案2】:

在你的 where 子句中,在它旁边添加表名

clients_agreements.date_start = CURRENT_DATE

【讨论】:

    猜你喜欢
    • 2011-06-11
    • 2014-05-03
    • 1970-01-01
    • 2019-09-03
    • 2021-05-30
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多