首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个SQL查询返回一个错误?

问为什么这个SQL查询返回一个错误?
EN

Stack Overflow用户
提问于 2014-01-08 09:27:59
回答 2查看 65关注 0票数 1

我使用子查询来访问where子句中的别名。只要我只选择"MIN(r.price)“,就可以正常工作。当我选择"*,“它返回一个错误"...duplicate列id.“。为什么会这样呢?子查询本身运行得非常好。

下面是:

代码语言:javascript
复制
SELECT *
FROM
(
    SELECT *, MIN(r.price) as min_price
    FROM tl_frp_presentation as p
    INNER JOIN tl_frp_object as o
        ON p.objectID = o.id
    INNER JOIN tl_tag as c
        ON c.id = o.id
        AND c.from_table = "tl_frp_object"
    LEFT JOIN tl_frp_rooms as r
        ON r.pid = o.id
    WHERE p.type = "tl_frp_object"
    GROUP BY p.id
) as inner_t
WHERE min_price >= 100

任何帮助都是非常感谢的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-08 09:29:08

只需将别名名称添加到列

试试这个:

代码语言:javascript
复制
SELECT *
FROM (SELECT *, MIN(r.price) AS min_price 
      FROM tl_frp_presentation AS p
      INNER JOIN tl_frp_object AS o ON p.objectID = o.id
      INNER JOIN tl_tag AS c ON c.id = o.id AND c.from_table = "tl_frp_object"
      LEFT JOIN tl_frp_rooms AS r ON r.pid = o.id
      WHERE p.type = "tl_frp_object"
      GROUP BY p.id
     ) AS inner_t
WHERE min_price >= 100;

您还可以使用有子句来满足您的需求,如下所示

代码语言:javascript
复制
SELECT *, MIN(r.price) AS min_price 
FROM tl_frp_presentation AS p
INNER JOIN tl_frp_object AS o ON p.objectID = o.id
INNER JOIN tl_tag AS c ON c.id = o.id AND c.from_table = "tl_frp_object"
LEFT JOIN tl_frp_rooms AS r ON r.pid = o.id 
WHERE p.type = "tl_frp_object"
GROUP BY p.id HAVING min_price >= 100;
票数 0
EN

Stack Overflow用户

发布于 2014-01-08 09:30:54

您已经给子选择了一个别名,这很好!

使用它:-)

代码语言:javascript
复制
) as inner_t
WHERE inner_t.min_price >= 100

更好的是,您不需要将其包装到子选择中:

代码语言:javascript
复制
SELECT *, MIN(r.price) as min_price
FROM tl_frp_presentation as p
INNER JOIN tl_frp_object as o
    ON p.objectID = o.id
INNER JOIN tl_tag as c
    ON c.id = o.id
    AND c.from_table = "tl_frp_object"
LEFT JOIN tl_frp_rooms as r
    ON r.pid = o.id
WHERE p.type = "tl_frp_object"
GROUP BY p.id
HAVING min_price >= 100
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20991587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档