-1

これは私がこれまでに持っているものですが、あまりにも多くの結果を示しています。説明行をうまくグループ化していますが、結果ごとにそれを行っています。私は基本的にそれが欲しいので、3行しかありません。クラスごとに 1 つhttp://prntscr.com/1la4j2

    /* 3. List the part number, part description, and item class for each pair of parts that are in the same item
class */
SELECT 
  t1.partnum,
  STUFF((
    SELECT ', ' + t2.description 
    FROM part t2
    WHERE t1.class = t2.class
    FOR XML PATH (''))
  ,1,2,'') AS description, t1.class
FROM part t1
4

1 に答える 1

0

から t1.partnum を削除できますSELECT

または、Partnum と Description を一緒にリストします。

SELECT DISTINCT
  STUFF((
    SELECT ', ' t2.PartNum + '-' + t2.description 
    FROM part t2
    WHERE t1.class = t2.class
    FOR XML PATH (''))
  ,1,2,'') AS description, t1.class
FROM part t1

または、partnum も別のリストにします。たとえば、次のようになります。

SELECT DISTINCT
  STUFF((
    SELECT ', ' + t3.partnum
    FROM part t3
    WHERE t1.class = t3.class
    FOR XML PATH (''))
  ,1,2,'') AS partnum
  ,STUFF((
    SELECT ', ' + t2.description 
    FROM part t2
    WHERE t1.class = t2.class
    FOR XML PATH (''))
  ,1,2,'') AS description
  , t1.class
FROM part t1
于 2013-08-14T22:10:05.393 に答える