gpt4 book ai didi

mysql - SQL:WHERE 子句的 LIKE 列中出现错误

转载 作者:行者123 更新时间:2023-11-29 07:53:04 25 4
gpt4 key购买 nike

我有这个查询:

SELECT `donations`.*, `contacts`.`first_name` AS contact_first_name, `contacts`.`last_name` AS
contact_last_name
FROM (`donations`)
LEFT OUTER JOIN `contacts` contacts ON `contacts`.`id` =
`donations`.`contact_id`
WHERE
`contact_first_name` LIKE
'%test%'

但是我收到错误未知 WHERE 子句中的列 contact_first_name。我发现我选择名字作为别名 contact_first_name 但仍然收到错误。

任何人都可以帮忙解决我在这里做错了什么吗?谢谢

最佳答案

改用这个:

SELECT `donations`.*, `contacts`.`first_name` AS contact_first_name, `contacts`.`last_name` AS
contact_last_name
FROM (`donations`)
LEFT OUTER JOIN `contacts` contacts ON `contacts`.`id` =
`donations`.`contact_id`
WHERE
`contacts`.`first_name` LIKE
'%test%'

原因是 contacts.first_name AS contact_first_name 是最后评估的,因此 WHERE 不知道别名 contact_first_name或者你可以这样做:

SELECT * 
FROM (
SELECT `donations`.*, `contacts`.`first_name` AS contact_first_name, `contacts`.`last_name` AS
contact_last_name
FROM (`donations`)
LEFT OUTER JOIN `contacts` contacts ON `contacts`.`id` =
`donations`.`contact_id`
) a
WHERE `contact_first_name` LIKE '%test%'

关于mysql - SQL:WHERE 子句的 LIKE 列中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25931451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com