6

次の値を持つ呼び出し元と呼び出し先の列を持つテーブルがあります

caller callee
999 888
888 999
999 555
555 333
555 999

今、私は単一の行のみを次のように返したい

caller1    caller2  count 
999        888      2
999        555      1
555        333      1
555        999      2
4

1 に答える 1

6
SELECT CASE
         WHEN caller < callee THEN callee
         ELSE caller
       END      AS caller1,
       CASE
         WHEN caller < callee THEN caller
         ELSE callee
       END      AS caller2,
       Count(*) AS [Count]
FROM   YourTable
GROUP  BY CASE
            WHEN caller < callee THEN callee
            ELSE caller
          END,
          CASE
            WHEN caller < callee THEN caller
            ELSE callee
          END 
于 2012-10-12T13:08:20.383 に答える