Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.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 Server 2008)_Sql_Sql Server 2008_Pivot_Transpose - Fatal编程技术网

转置查询创建节点(SQL Server 2008)

转置查询创建节点(SQL Server 2008),sql,sql-server-2008,pivot,transpose,Sql,Sql Server 2008,Pivot,Transpose,我最终找到了要执行的查询,以使一行中的一个内容的所有ID都以逗号分隔 下面的查询成功了: 您不需要查看查询,因为它已经完成了它应该做的事情 SELECT taxonomy_item_id, SUBSTRING( (SELECT ', ' + CAST(taxonomy_id AS varchar) AS Expr1 FROM taxonomy_item_tbl AS t2 WHERE (t1.taxonomy_item_id = tax

我最终找到了要执行的查询,以使一行中的一个内容的所有ID都以逗号分隔

下面的查询成功了:

您不需要查看查询,因为它已经完成了它应该做的事情

SELECT 
    taxonomy_item_id, 
    SUBSTRING(
      (SELECT ', ' + CAST(taxonomy_id AS varchar) AS Expr1
       FROM taxonomy_item_tbl AS t2
       WHERE (t1.taxonomy_item_id = taxonomy_item_id) AND (taxonomy_language_id = 2067)
       ORDER BY taxonomy_item_id, taxonomy_id FOR XML PATH('')
      ), 1, 1000) AS taxonomy_ids
FROM 
    taxonomy_item_tbl AS t1
WHERE 
    (taxonomy_language_id = 2067) AND (taxonomy_item_id = 180555)
GROUP BY 
    taxonomy_item_id
唯一的问题是我得到的数据结果:

180555  |   <Expr1>, 404</Expr1><Expr1>, 405</Expr1><Expr1>, 723</Expr1><Expr1>, 1086</Expr1><Expr1>, 1087</Expr1><Expr1>, 1118</Expr1><Expr1>, 1124</Expr1><Expr1>, 1126</Expr1>
我不需要节点。有没有办法删除这个?如果我在查询中删除为EXPR1,那么它会自动添加回来

谢谢,如果你不想要,那就别问了

你有:

(SELECT ', ' + CAST(taxonomy_id AS varchar) AS Expr1
AS Expr1会导致添加表达式,所以这里没有表达式

试一试


你是怎么运作的?除非您使用了一些查询生成器,否则不应将AS Expr1添加回什么是查询生成器?我可以禁用它吗?我不知道。你是如何运行它的?我问…-1因为仍然使用查询生成器并重复相同的错误,我认为一些查询生成器MSQuery,Access,如果我正确理解了问题,那么无论是什么都会重新添加它。
SELECT 
    taxonomy_item_id, 
    SUBSTRING(
      (SELECT ', ' + CAST(taxonomy_id AS VARCHAR) 
       FROM dbo.taxonomy_item_tbl AS t2
       WHERE t1.taxonomy_item_id = taxonomy_item_id
       AND taxonomy_language_id = 2067
       ORDER BY taxonomy_item_id, taxonomy_id 
       FOR XML PATH('')
      ), 1, 1000) AS taxonomy_ids
FROM 
    dbo.taxonomy_item_tbl AS t1
WHERE 
    taxonomy_language_id = 2067
    AND taxonomy_item_id = 180555
GROUP BY 
    taxonomy_item_id