Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 水平而不是垂直地获取数据_Sql - Fatal编程技术网

Sql 水平而不是垂直地获取数据

Sql 水平而不是垂直地获取数据,sql,Sql,考虑以下问题: Select Dealer, Sales from DEALERDATA where period in (201106,201107) 这将产生以下结果: DEALER SALES Dealer1 100000 Dealer1 200000 Dealer2 600000 Dealer2 700000 我想要结果 DEALER SALES SALES Dealer1 100000 200000 Dealer2 600000 700000 如果有人能让我知道如何做到这一点

考虑以下问题:

Select Dealer, Sales from DEALERDATA
where period in (201106,201107)
这将产生以下结果:

DEALER SALES

Dealer1 100000
Dealer1 200000
Dealer2 600000
Dealer2 700000
我想要结果

DEALER SALES SALES
Dealer1 100000 200000
Dealer2 600000 700000
如果有人能让我知道如何做到这一点

非常感谢,,
沙龙

对于一些列,您可以将CASE与sum结合使用

SELECT Dealer
, SUM(CASE WHEN period=201106 THEN Sales ELSE 0 END) sales201106
, SUM(CASE WHEN period=201107 THEN Sales ELSE 0 END) sales201107
FROM DEALERDATA
WHERE period IN (201106,201107)
GROUP BY Dealer

您使用的是哪台sql服务器:mysql、ms sql等。。。?