سؤال

بلدي بنية الجدول "feedbacksummary"

GivenBy varchar(50)
GivenTo varchar(50)
Points  decimal(15, 2)

نموذج البيانات

Alice   Janet   4.50
Alice   Bruce   3.50
Bruce   Alice   2.87
Bruce   Janet   4.75
Janet   Alice   5.45
Janet   Bruce   3.78

ما أحاول تحقيقه

GivenBy_GivenTo Alice   Bruce   Janet
Alice           NULL    3.50    4.50    
Bruce           2.87    NULL    4.75
Janet           5.45    3.78    NULL

النظام الأساسي: SQL Server 2005 و 2008

كيف يمكن القيام بذلك باستخدام Pivot أو أي تقنيات أخرى. هل يمكن تحقيق ذلك باستخدام خدمات الإبلاغ SQL بسهولة؟

شكرا مقدما.

هل كانت مفيدة؟

المحلول

الأفضل هو استخدام SSRS. ضع مصفوفة هناك، مع عمود واحد على الصفوف وواحدة على الأعمدة. يمكنك المحور في استعلام (خيار المحور)، ولكن هذا لا يسمح بالمرونة في الإبلاغ.

روب

نصائح أخرى

  SELECT t.givenby,
         SUM(CASE WHEN t.givento = 'Alice' THEN t.points ELSE NULL END) 'Alice',
         SUM(CASE WHEN t.givento = 'Bruce' THEN t.points ELSE NULL END) 'Bruce',
         SUM(CASE WHEN t.givento = 'Janet' THEN t.points ELSE NULL END) 'Janet'
    FROM TABLE t
GROUP BY t.givenby
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top