Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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 A. ID, (SELECT B.VALSTR FROM your_table B WHERE B.ID = A.ID AND B.ATTRID = 2) V1, (SELECT B.VALSTR FROM your_table B WHERE B.ID = A.ID AND B.ATTRID = 3) V2, (SELECT B.VALSTR FROM your_table B WHERE B.I

据我所知,我几乎尝试了一切。如何从表数据中获得以下预期结果


您可以尝试下面的选项-

SELECT A. ID,
(SELECT B.VALSTR FROM your_table B WHERE B.ID = A.ID AND B.ATTRID = 2) V1,
(SELECT B.VALSTR FROM your_table B WHERE B.ID = A.ID AND B.ATTRID = 3) V2,
(SELECT B.VALSTR FROM your_table B WHERE B.ID = A.ID AND B.ATTRID = 4) V3
FROM your_table A
GROUP BY A.ID

您似乎需要条件聚合。我猜:

select id,
       max(case when attrid = 2 then valstr end) as v1,
       max(case when attrid = 3 then valstr end) as v2,
       max(case when attrid = 4 then valstr end) as v3
from t
group by id

您使用的是什么产品:MS Sql Server、Oracle、MySQL……?让我们可以轻松地为您提供帮助,向我们显示示例表数据和预期结果-格式为文本,而不是图像。同时显示您当前的查询尝试。不要忘了阅读。样本数据最好以文本形式呈现。有关如何创建美观的表格的一些提示,请参见。