繁体   English   中英

如何选择“内容”列的特定名称?

[英]How do I select specific names of a column with Content?

您好,我在使用SQL Server 2012时遇到问题,

SELECT e.especes,COUNT(*) AS [nombre de sujets],
    STUFF((SELECT  ',' + ' ' + a.nom 
              FROM  animal a,espece e
              where e.IDESPECE = a.IDESPECE
              FOR XML PATH (''))
              , 1, 1, '')  AS noms
    INTO statEspece 
    from espece e,animal a 
    WHERE e.IDESPECE = a.IDESPECE 
    GROUP BY a.IDESPECE, e.especes;

即使我试图把这一行:

其中e.IDESPECE = a.IDESPECE

name列中填充了dbo.animal.nom的所有动物。

输出看起来像这样:

Animal  Number   Names
Tigre   2   Tigrou, Chita, Chloe, Jumbo, Zaza, Coco, Kahn, King
Lion    1   Tigrou, Chita, Chloe, Jumbo, Zaza, Coco, Kahn, King
Zèbre   1   Tigrou, Chita, Chloe, Jumbo, Zaza, Coco, Kahn, King
Singe   2   Tigrou, Chita, Chloe, Jumbo, Zaza, Coco, Kahn, King
other   1   Tigrou, Chita, Chloe, Jumbo, Zaza, Coco, Kahn, King
other   1   Tigrou, Chita, Chloe, Jumbo, Zaza, Coco, Kahn, King

有人可以解释一下为什么它返回我数据库中的所有名称吗?

尝试这个:

SELECT e.especes,COUNT(*) AS [nombre de sujets],
STUFF((SELECT  ',' + ' ' + a1.nom 
          FROM  animal a1,espece e1
          where e1.IDESPECE = a1.IDESPECE AND a1.IDESPECE=a.IDESPECE
          FOR XML PATH (''))
          , 1, 1, '')  AS noms
INTO statEspece 
from espece e,animal a 
WHERE e.IDESPECE = a.IDESPECE 
GROUP BY a.IDESPECE, e.especes;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM