gpt4 book ai didi

php - MySql: 'field list' 中的未知列 ID

转载 作者:可可西里 更新时间:2023-11-01 07:22:05 24 4
gpt4 key购买 nike

我正在关注这个问题的答案: MySQL: is it possible to group_concat multiple rows?

但是我遇到了 MySql 错误:

#1054 - Unknown column 'CM_Cocktail.id' in 'field list'.

当我删除这个 CM_Cocktail.id 内容时,出现下一个错误:#1054 - “字段列表”中的未知列“CM_Zutat.name”。我尝试使用别名,但情况变得更糟......也许我是盲人。

SELECT 
CM_Cocktail.id, CM_Cocktail.name,
GROUP_CONCAT(CM_Zutat.name SEPARATOR ', ')
FROM (
SELECT CM_Cocktail.id, CM_Cocktail.name AS cname, CM_Zutat.name
FROM CM_Cocktail, CM_CocktailHatZutat, CM_Zutat
WHERE CM_Cocktail.id=CM_CocktailHatZutat.cocktail_id
AND CM_CocktailHatZutat.zutat_id=CM_Zutat.id
) group_attr
GROUP BY CM_Cocktail.id;

CREATE TABLE IF NOT EXISTS `CM_Cocktail` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

CREATE TABLE IF NOT EXISTS `CM_CocktailHatZutat` (
`cocktail_id` int(3) NOT NULL,
`zutat_id` int(3) NOT NULL,
`zutat_menge` int(4) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `CM_Zutat` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

最佳答案

您需要在子查询中定义列别名,而不是使用别名作为本例的父字段:

SELECT 
CocktailID, cname,
GROUP_CONCAT(ZName SEPARATOR ', ')
FROM (
SELECT CM_Cocktail.id as CocktailID, CM_Cocktail.name AS cname, CM_Zutat.name as ZName
FROM CM_Cocktail, CM_CocktailHatZutat, CM_Zutat
WHERE CM_Cocktail.id=CM_CocktailHatZutat.cocktail_id
AND CM_CocktailHatZutat.zutat_id=CM_Zutat.id
) group_attr
GROUP BY CocktailID;

关于php - MySql: 'field list' 中的未知列 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35503095/

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