Mysql 数据库查询失败:字段列表中的列“id”不明确
我多次尝试修改它,但此错误消息不会消失。数据库查询失败:字段列表中的“id”列不明确。有没有办法解决这个问题?改变一下:Mysql 数据库查询失败:字段列表中的列“id”不明确,mysql,Mysql,我多次尝试修改它,但此错误消息不会消失。数据库查询失败:字段列表中的“id”列不明确。有没有办法解决这个问题?改变一下: SELECT realestate.id,node.id,node.name from realestate, (SELECT GROUP_CONCAT(parent.name_en ORDER BY parent.lft DESC) AS name,id
SELECT realestate.id,node.id,node.name
from realestate,
(SELECT
GROUP_CONCAT(parent.name_en ORDER BY parent.lft DESC) AS name,id
FROM
address AS node JOIN address AS parent
ON node.lft BETWEEN parent.lft AND parent.rgt
WHERE node.lft >={$lft} and node.rgt <={$rgt}
GROUP BY node.name) as node
INNER JOIN users ON id_user = users.id
LEFT JOIN pic ON id_realestate = realestate.id
WHERE node.id = realestate.address_id
与
您需要指定表的别名,因为假设两个表都有一个名为id的列,mysql不知道使用哪个表来获取id列。更改此选项:
SELECT realestate.id,node.id,node.name
from realestate,
(SELECT
GROUP_CONCAT(parent.name_en ORDER BY parent.lft DESC) AS name,id
FROM
address AS node JOIN address AS parent
ON node.lft BETWEEN parent.lft AND parent.rgt
WHERE node.lft >={$lft} and node.rgt <={$rgt}
GROUP BY node.name) as node
INNER JOIN users ON id_user = users.id
LEFT JOIN pic ON id_realestate = realestate.id
WHERE node.id = realestate.address_id
与
您需要指定表的别名,因为假设两个表都有一个名为id的列,mysql不知道使用哪个表来获取id列。问题在于子查询
GROUP_CONCAT(parent.name_en ORDER BY parent.lft DESC) AS name,node.id
您应该指定ID来自哪个表,因为节点和父节点都包含导致歧义的ID。可能是node.ID或parent.ID问题出在子查询上
GROUP_CONCAT(parent.name_en ORDER BY parent.lft DESC) AS name,node.id
您应该指定ID来自哪个表,因为节点和父节点都包含导致歧义的ID。它可以是node.ID或parent.ID这是因为您在串联查询中使用的是ID,所以它不明确,只需更改即可避免错误
SELECT GROUP_CONCAT(parent.name_en ORDER BY parent.lft DESC) AS name,
id -- <<== HERE (change to node.ID or parent.ID)
FROM address AS node
JOIN address AS parent
ON node.lft BETWEEN parent.lft AND parent.rg
这是因为您在连接查询中使用的是id,所以它是不明确的,只需更改即可避免错误
SELECT GROUP_CONCAT(parent.name_en ORDER BY parent.lft DESC) AS name,
id -- <<== HERE (change to node.ID or parent.ID)
FROM address AS node
JOIN address AS parent
ON node.lft BETWEEN parent.lft AND parent.rg
+1顺便说一句,sql注释是-not/:+1顺便说一句,sql注释是-not/:+1用于解释+1用于解释提醒我,我们为什么要获取父ID?提醒我,我们为什么要获取父ID?