Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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_Sql Server_Join_Select - Fatal编程技术网

棘手的SQL查询:可能吗?

棘手的SQL查询:可能吗?,sql,sql-server,join,select,Sql,Sql Server,Join,Select,我不知道该怎么问这个问题。我有一个带有列、时间戳、用户和另一个字段的表。如下图所示: USER,TIME,FIELD USR1,MON,VALUE1 USR1,TUE,VALUE1 USR2,MON,VALUE1 USR2,MON,VALUE2 USR1,MON,VALUE1 用户数量没有上限,可以动态添加,也没有命名约定。我想做的是做一个select语句,得到如下结果: USR1,USR2 MON,VALUE1: 2 1 MON,VALUE2: 0 1 TUE,VALUE1:

我不知道该怎么问这个问题。我有一个带有列、时间戳、用户和另一个字段的表。如下图所示:

USER,TIME,FIELD USR1,MON,VALUE1 USR1,TUE,VALUE1 USR2,MON,VALUE1 USR2,MON,VALUE2 USR1,MON,VALUE1 用户数量没有上限,可以动态添加,也没有命名约定。我想做的是做一个select语句,得到如下结果:

USR1,USR2 MON,VALUE1: 2 1 MON,VALUE2: 0 1 TUE,VALUE1: 1 0 可能吗

我正在使用MSSQL

提前谢谢。

试试这个

select time, FIELD, sum(case when usr = 'USR1' then 1 else 0 end) as usr1,
sum(case when usr = 'USR2' then 1 else 0 end) as usr2
from tst 
group by time, FIELD
order by time

您可以使用USR3、USR4、USR999999,还是仅限USR1和USR2?你自己试过什么?有很多关于动态轴心点的问题,你看过他们的答案了吗?不是免费的代码编写服务。您应该尝试自己编写代码。之后,如果你有问题,你可以张贴你已经尝试了一个明确的解释什么是不工作,并提供一个解决方案。我建议你读一个好的问题和答案。另外,请务必使用。尝试对GROUP BY进行一些研究,因为这样可以让您选择通过某些参数收集的值,在本例中为一周中的某一天和该值。然后按天排序,然后按值排序,并将结果输出到表中。@igor,我最感兴趣的是是否可以使用select语句,我尝试了多种类型的联接,但是甚至没有接近。@jddy886-然后发布您的尝试以及为什么它不起作用。这种方法的问题是,您必须事先知道用户名,而我不知道。显然,我可以在用户上使用selectdistinct,这是我已经尝试过的解决方案的一部分,但结合按时间和字段分组以及使用countonuser是我所能做到的