where 子句中的列 'date_start' 不明确

Column 'date_start' in where clause is ambiguous

我想 SELECT 约会,但我对此有疑问

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)

我明白了:

error #1052 - Column 'date_start' in where clause is ambiguous

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

        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)

在您的 where 子句中,在其旁边添加 table 名称,如

clients_agreements.date_start = CURRENT_DATE