gpt4 book ai didi

mysql - 在 JOIN 中使用 DISTINCT 会造成麻烦

转载 作者:行者123 更新时间:2023-11-29 00:35:16 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How can I modify this query with two Inner Joins so that it stops giving duplicate results?

我在查询时遇到问题。

SELECT itpitems.identifier, itpitems.name, itpitems.subtitle, itpitems.description, itpitems.itemimg, itpitems.mainprice, itpitems.upc, itpitems.isbn, itpitems.weight, itpitems.pages, itpitems.publisher, itpitems.medium_abbr, itpitems.medium_desc, itpitems.series_abbr, itpitems.series_desc, itpitems.voicing_desc, itpitems.pianolevel_desc, itpitems.bandgrade_desc, itpitems.category_code, itprank.overall_ranking, itpitnam.name AS artist, itpitnam.type_code FROM itpitems 
INNER JOIN itprank ON (itprank.item_number = itpitems.identifier)
INNER JOIN (SELECT DISTINCT type_code FROM itpitnam) itpitnam ON (itprank.item_number = itpitnam.item_number)
WHERE mainprice > 1
LIMIT 3

我不断在“字段列表”中收到未知列“itpitnam.name”。

但是,如果我将 DISTINCT type_code 更改为 *,我不会收到该错误,但我也不会得到我想要的结果。

这是一个很大的结果表,所以我正在制作一个虚拟示例...

有了 *,我得到类似的东西:

+-----------+---------+----------+
| identifier| name | type_code|
+-----------+---------+----------+
| 2 | Joe | A |
| 2 | Amy | R |
| 7 | Mike | B |
+-----------+------------+-------+

这里的问题是我有两个 identifier = 2 的实例,因为 type_code 不同。 我已经在查询的外端尝试了 GROUP BY,但是它筛选了太多的记录,给服务器造成了太大的压力,所以我试图找到一种替代方法来获取我需要的结果。

我想要实现的(使用相同的虚拟输出)看起来像这样:

+-----------+---------+----------+
| identifier| name | type_code|
+-----------+---------+----------+
| 2 | Joe | A |
| 7 | Mike | B |
| 8 | Sam | R |
+-----------+------------+-------+

无论 type_code 是否不同,它都应该跳过重复的标识符。

有人可以帮我修改这个查询以获得上图中模拟的结果吗?

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