【问题标题】:City_id in the where clause is ambiguouswhere 子句中的 City_id 不明确
【发布时间】:2013-04-14 05:14:38
【问题描述】:

我已经编写了查询,但它在 where 子句中显示的城市 ID 不明确

SELECT
  `a`.`name`,
  `a`.`company`,
  `a`.`city`,
  `a`.`country`,
  `a`.`phone`,
  `a`.`type_of_enquiry`,
  `b`.`enquiry_id`,
  `a`.`hearaboutus`,
  `a`.`email`,
  `a`.`comments`,
  `a`.`address`,
  `c`.`id`,
  `c`.`city_id`
FROM (`sobha_enquiry` a)
  LEFT JOIN `sobha_enquiryzone` b
    ON `b`.`enquiry_id` = `a`.`id`
  LEFT JOIN `sobha_admin` c
    ON `c`.`city_id` = `b`.`city_id`
WHERE `city_id` = '2'
GROUP BY `a`.`id`
ORDER BY `id` desc, `a`.`id` DESC

请帮帮我!!!!!!!!!!

【问题讨论】:

    标签: mysql codeigniter codeigniter-2 codeigniter-url


    【解决方案1】:
    SELECT
      `a`.`name`,
      `a`.`company`,
      `a`.`city`,
      `a`.`country`,
      `a`.`phone`,
      `a`.`type_of_enquiry`,
      `b`.`enquiry_id`,
      `a`.`hearaboutus`,
      `a`.`email`,
      `a`.`comments`,
      `a`.`address`,
      `c`.`id`,
      `c`.`city_id`
    FROM (`sobha_enquiry` a)
      LEFT JOIN `sobha_enquiryzone` b
        ON `b`.`enquiry_id` = `a`.`id`
      LEFT JOIN `sobha_admin` c
        ON `c`.`city_id` = `b`.`city_id`
    WHERE `a`.`city_id` = '2'
    GROUP BY `a`.`id`
    ORDER BY `c`.`id` desc, `a`.`id` DESC
    

    在你的 where 子句中你应该提供 b 或 c 因为使用别名并且列 city_id 存在于两个表中,这会混淆 mysql

    【讨论】:

    • 也许你的意思是b or c而不是a or c
    【解决方案2】:

    问题在于WHERE 子句,您需要指定要在哪个表中搜索city_id,因为它们都包含相同的列名。它可能来自sobha_enquiryzone 或来自sobha_admin

    SELECT  a.NAME,
            a.company,
            a.city,
            a.country,
            a.phone,
            a.type_of_enquiry,
            b.enquiry_id,
            a.hearaboutus,
            a.email,
            a.comments,
            a.address,
            c.id,
            c.city_id
    FROM    sobha_enquiry a
            LEFT JOIN sobha_enquiryzone b
                    ON b.enquiry_id = a.id
            LEFT JOIN sobha_admin c
                    ON c.city_id = b.city_id
    WHERE   b.city_id = '2' -- or c.city_id = '2' (both will yield the same result)
    GROUP   BY a.id
    ORDER   BY id DESC, a.id DESC
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2011-06-11
      • 2019-10-09
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 2019-09-03
      相关资源
      最近更新 更多