繁体   English   中英

如何将我所做的另一个查询结果添加到结果中(SQL)

[英]How to add another result of query that result i made to a result (SQL)

嗨,我有这个问题这对你来说很简单,但由于我的英语不好,我无法找到如何修复我的代码:((

这是我做的查询

SELECT  
  ESCC,
  count(if(DRC =156, DRC,NULL)) AS 'A',
  count(if(DRC =159, DRC,NULL)) AS 'B',
  count(if(DRC =160, DRC,NULL)) AS 'C'
FROM diag_results WHERE diagOrder=1 GROUP BY ESCC;

上面的查询产生以下结果。

+------+----+----+----+
| ESCC | A  | B  | C  |
+------+----+----+----+
|    1 | 32 | 21 | 92 |
+------+----+----+----+
|    2 | 21 | 33 | 52 |
+------+----+----+----+
...

但我想将波纹管查询的另一个结果作为列添加到上述结果中

SELECT  
  count(if(DRC =156, DRC,NULL)) AS 'D',
  count(if(DRC =159, DRC,NULL)) AS 'E',
  count(if(DRC =160, DRC,NULL)) AS 'F'
FROM diag_results WHERE diagOrder=2 GROUP BY ESCC;

结果

+----+----+----+
| D  | E  | F  |
+----+----+----+
| 32 | 21 | 92 |
+----+----+----+
| 21 | 33 | 52 |
+----+----+----+
...

所以我想得到这样的结果

+------+----+----+----+----+----+----+
| ESCC | A  | B  | C  | D  | E  | F  |
+------+----+----+----+----+----+----+
|    1 | 32 | 21 | 92 | 32 | 21 | 92 |
+------+----+----+----+----+----+----+
|    2 | 21 | 33 | 52 | 21 | 33 | 52 |
+------+----+----+----+----+----+----+

请回答我

你不需要count(if())来做你想做的事。 使用sum()简单得多,如下所示:

SELECT ESCC,
       sum(diagOrder = 1 and DRC = 156) AS A,
       sum(diagOrder = 1 and DRC = 159) AS B,
       sum(diagOrder = 1 and DRC = 160) AS C,
       sum(diagOrder = 2 and DRC = 156) AS D,
       sum(diagOrder = 2 and DRC = 159) AS E,
       sum(diagOrder = 2 and DRC = 160) AS F
FROM diag_results
WHERE diagOrder IN (1, 2) 
GROUP BY ESCC;

我还强烈建议您不要对列别名使用单引号。 仅对字符串和日期/时间常量使用单引号。

SELECT  
  ESCC,
  count(if(diagOrder = 1 AND DRC =156, DRC,NULL)) AS 'A',
  count(if(diagOrder = 1 AND DRC =159, DRC,NULL)) AS 'B',
  count(if(diagOrder = 1 AND DRC =160, DRC,NULL)) AS 'C',
  count(if(diagOrder = 2 AND DRC =156, DRC,NULL)) AS 'D',
  count(if(diagOrder = 2 AND DRC =159, DRC,NULL)) AS 'E',
  count(if(diagOrder = 2 AND DRC =160, DRC,NULL)) AS 'F'
FROM diag_results WHERE diagOrder IN (1, 2) 
GROUP BY ESCC;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM