SQL请求将值放在列中

时间:2019-03-04 12:07:04

标签: sql

SELECT table1.id,
       SUM(table2.column="n1"),
       SUM(table2.column ="n2")
FROM table1
     INNER JOIN table2 ON table1.id = table2.id 
GROUP BY r.id 

我有这个有效的sql查询。在列table2中,我有100个不同的值(包括``n1''和``n2'')。有没有一种方法可以通过选择table2.column的100个值来执行与此查询相同的操作(手动复制它们除外)。

SUM (table2.column = "n1"), SUM (table2.column = "n2"), ..., SUM (table2.column = "n100")

1 个答案:

答案 0 :(得分:0)

最好的建议是,我可以为您构建一个小程序来构建查询并复制输出。 您可以在this site

在线免费运行以下代码
#include <stdio.h>
int main()
{
    for (int i=0;i<100;i++)
    {
        if(i==99)
        {
          printf("SUM(table2.column%d)\r\n",i);          
        }
        else
        {
          printf("SUM(table2.column%d),\r\n",i);          
        }
    }
    return 0;
}

它将自动为您的100列生成SQL,如果按顺序订购列,则无需手动复制和粘贴。

SUM(table2.column0),                                                                                                                                                                        
SUM(table2.column1),                                                                                                                                                                        
SUM(table2.column2),                                                                                                                                                                        
SUM(table2.column3),    ....                                                                                                                                                                    
SUM(table2.column99)