首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql联接和大小写问题

Mysql联接和大小写问题
EN

Stack Overflow用户
提问于 2019-01-10 06:45:17
回答 1查看 43关注 0票数 0

我有以下两个表..

代码语言:javascript
复制
table-1
|id| text1  | text2  |
----------------------
|1 | orange | banana |
|2 | banana | NULL   |
|3 | orange | NULL   |
|4 | papaya | orange |
|5 | papaya | papaya |
|6 | papaya | papaya |
|7 | mango| NULL   |

table-2
|id| id-table-1 |
-----------
|1 |   1  |
|2 |   3  |
|3 |   4  |
|3 |   6  |
|3 |   7  | 

我想要的是,只有表2左连接中列出的id应该被计算和显示。如果text2不是Null,则必须将数据计数为1。但是如果text2为空或null,则将text1数据计数为1。结果应该是这样的。

如果我说where text1 or text2 == banana,我必须得到如下结果

代码语言:javascript
复制
name   count
banana  1

或者,在橙色的情况下..

代码语言:javascript
复制
name   count
orange  2

我该如何做到这一点?需要帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-10 07:31:13

此查询应执行您想要的操作:

代码语言:javascript
复制
SELECT COALESCE(t1.text2, t1.text1) AS name,
       COUNT(*) AS count
FROM `table-2` t2
LEFT JOIN `table-1` t1 ON t1.id = t2.`id-table-1`
GROUP BY name

输出:

代码语言:javascript
复制
name    count
banana  1
mango   1
orange  2
papaya  1

Demo on dbfiddle

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

https://stackoverflow.com/questions/54119490

复制
相关文章

相似问题

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