gpt4 book ai didi

mysql 查询改进与连接问题

转载 作者:行者123 更新时间:2023-11-29 23:57:04 24 4
gpt4 key购买 nike

我在 Fiddle 上有以下架构

http://sqlfiddle.com/#!2/f2d785/4/0

结果表也列在那里。

如果我们观察结果。对于 mtg_ID 3。每个 topic_id 的 skpr_id 都是重复的,并且与会者表中的每个条目都是重复的。

EXP_ID MTG_ID SPKR_ID TOPIC_ID 费用

1   1   1   1   100
**2 2 2 2 100
3 2 3 2 200**
4 3 4 4 100
5 3 2 4 200
6 3 5 4 100
7 3 6 4 100
8 3 7 4 100
9 3 8 4 100

我想要以下结果

EXP_ID  MTG_ID  SPKR_ID     TOPIC_ID    EXPENSE
1 1 1 1 100
2 2 2 **2** 100
3 2 3 **3** 200
4 3 4 4 100
5 3 2 4 200
6 3 5 4 100
7 3 6 4 100
8 3 7 4 100
9 3 8 4 100

我缺少几个关节。应用 group by 并不能解决问题。我想在没有派生表的情况下在同一查询中获得结果。有人可以帮助我吗?

最佳答案

据我所知,您只是想按您的 exp_id 进行分组。

从 fiddle 中进行查询,我添加了最后一行并获得了您正在寻找的输出。

SELECT 
ex.exp_id,
m.id as mtg_id,
ex.spkr_id,
xsm.topic_id,
ex.expense
FROM
expense ex
INNER JOIN meeting m ON (ex.mtg_id = m.id)
INNER JOIN mtg_spkr xsm on (m.id = xsm.mtg_id )
GROUP BY ex.exp_id

得到了这个

| EXP_ID | MTG_ID | SPKR_ID | TOPIC_ID | EXPENSE |
|--------|--------|---------|----------|---------|
| 1 | 1 | 1 | 1 | 100 |
| 2 | 2 | 2 | 2 | 100 |
| 3 | 2 | 3 | 2 | 200 |
| 4 | 3 | 4 | 4 | 100 |
| 5 | 3 | 2 | 4 | 200 |
| 6 | 3 | 5 | 4 | 100 |
| 7 | 3 | 6 | 4 | 100 |
| 8 | 3 | 7 | 4 | 100 |
| 9 | 3 | 8 | 4 | 100 |

关于mysql 查询改进与连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25270499/

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