Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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_Pivot - Fatal编程技术网

如何使用sql将两个不同的列数据显示到一个列中?

如何使用sql将两个不同的列数据显示到一个列中?,sql,pivot,Sql,Pivot,我遇到过一种情况,我正试图并排显示某个产品两年的销售数据。在这方面,我需要展示它的多样性,以及在它 这里的问题是,不同的星期我们有不同的品种。要求在一列中同时显示,这不应影响销售编号 下面是一个例子: fy fw fp prod variety salesamount 2016 1 1 Nike Shoes 50$ 2015 1 1 Nike Hat 20$ 我需要像下面这样显示它: fy fw fp prod

我遇到过一种情况,我正试图并排显示某个产品两年的销售数据。在这方面,我需要展示它的多样性,以及在它

这里的问题是,不同的星期我们有不同的品种。要求在一列中同时显示,这不应影响销售编号

下面是一个例子:

fy   fw fp prod   variety      salesamount
2016 1   1  Nike  Shoes          50$ 
2015 1   1  Nike  Hat            20$ 
我需要像下面这样显示它:

fy   fw fp prod   variety      salesamount    salesamount
2016  1 1   Nike  Shoes, hat          50$           20$ 
如果品种相同,则应显示一个名称


你能告诉我怎么做吗?

为什么你要把
品种
放在一列,而把价格放在另一列

我怀疑这样的事情可能会满足你的要求:

select max(fy) as fy, fw, fp, prod,
       max(case when fy = 2016 then variety end) as variety_2016,
       max(case when fy = 2015 then variety end) as variety_2015,
       max(case when fy = 2016 then salesamount end) as salesamount_2016,
       max(case when fy = 2015 then salesamount end) as salesamount_2015
from t
where fy in (2015, 2016)
group by fw, fp, prod

你用哪一种?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加一个新名称,
postgresql
oracle
sql server
db2
,…即使会计年度不同?或者这是一个输入错误?我正在使用SQL-SERVER,我在一列中保留了多样性,因为他们希望在一列中查看所有多样性数据