首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql -需要某种形式的联合

mysql -需要某种形式的联合
EN

Stack Overflow用户
提问于 2009-11-27 21:47:01
回答 2查看 43关注 0票数 0

在mysql中,如果我有一个返回如下内容的查询

b-2;c-4,e-9

有没有办法让我把它和

a-0;b-0;c-0;d-0;e-0;f-0;

得到最终结果

a0;b-2;c-4;d-0;e-9,f-0?

我知道更好的方法是重写原始查询,但对于我的级别(完全的sql noob)来说,这有点复杂,而且我的时间也很紧。谢谢

EN

回答 2

Stack Overflow用户

发布于 2009-11-27 21:54:43

是的,您可以将这两个查询作为子查询进行内部连接,然后添加计数。

代码语言:javascript
复制
select 
  letter,
  a.count + b.count as total
from (
   select letter, count(*)
   from blah blah lots of joins
   group by letter
) as a
inner join (
   select letter, count(*)
   from blah blah lots of joins
   group by letter
) as b
on a.letter = b.letter
票数 0
EN

Stack Overflow用户

发布于 2009-11-27 23:01:24

您可以使用联合。联合的第一部分包含来自第一个查询的字母,第二部分包含第一部分未包含的字母:

代码语言:javascript
复制
select * from query1
union all
select * from query2 b
where not exists (select * from query1 a where a.letter = b.letter)

如果查询返回整个字段(a-0而不是a),则必须使用substring

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1808877

复制
相关文章

相似问题

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