gpt4 book ai didi

mysql - 为什么我在 View SELECT 查询中收到带有 WHERE 子句的 "Unknown column ' xyz'"?

转载 作者:行者123 更新时间:2023-11-30 22:06:15 25 4
gpt4 key购买 nike

MySQL 数据库(社区)版本:5.6.27,Windows 7 Pro x64

我刚刚创建了这个 View :

DELIMITER $$

ALTER ALGORITHM=UNDEFINED DEFINER=`admin`@`%` SQL SECURITY DEFINER VIEW `vw_qb_assembly_component_info` AS (
SELECT
`qb_assembly_components`.`assembly_item_id` AS `assemblyId`,
`ai`.`name` AS `assemblyName`,
`qb_assembly_components`.`component_quantity` AS `componentQuantity`,
`qb_assembly_components`.`component_item_id` AS `item_id`,
`ci`.`name` AS `name`,
`ci`.`item_number_type` AS `item_number_type`,
`ci`.`type` AS `type`

FROM ((`qb_assembly_components`
JOIN `qb_items` `ai`
ON ((`ai`.`item_id` = `qb_assembly_components`.`assembly_item_id`)))
JOIN `qb_items` `ci`
ON ((`ci`.`item_id` = `qb_assembly_components`.`component_item_id`))))$$

DELIMITER ;

我正尝试在 View 中查询具有特定 qb_assembly_components.assembly_item_id 值的行。我尝试了几种在 WHERE 子句中定义列的变体,但总是收到错误:

Unknown column 'xyz' in 'where clause'

以下是我试过的版本:

WHERE `qb_assembly_components`.`assemblyId` = 'RR-0T056'
WHERE `qb_assembly_components`.`assembly_item_id` = 'RR-0T056'
WHERE `assemblyId` = 'RR-0T056'

我被难住了。我用谷歌搜索了一下,发现一些结果似乎表明使用别名是可行的方法(我在上面 3 个示例中的最后一个示例),但它不起作用。

我做错了什么?

最佳答案

如果您从 VIEWvw_qb_assembly_component_info 中选择``

然后 where 子句应该引用 View 名称(而不是原始表名称)

WHERE `vw_qb_assembly_component_info`.`assemblyId` = 'RR-0T056'

关于mysql - 为什么我在 View SELECT 查询中收到带有 WHERE 子句的 "Unknown column ' xyz'"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41659369/

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