-3

テーブル構造と予想される出力については、画像を参照してください。テーブル 1 のすべての行と、2 番目のテーブルの各バッチ ID の計画番号のカウントを示す新しい列が必要です。

テーブル構造と例外出力

4

2 に答える 2

0

テーブルを結合する必要があります (計画のない 1 から欠落した行をカウントするため、左結合の方が適しています)、その後にグループを追加する必要があります

SELECT 
   T1.[Batch Id], 
   T1.[Batch Name], 
   T1.[Date], 
   T1.[Status], 
   COUNT(T2.PlanNUmber) AS PLANCOUNT
FROM
  Table1 T1
  LEFT JOIN Table2 T2 ON T1.[Batch Id] = T2.[Batch Id]
GROUP BY
   T1.[Batch Id], 
   T1.[Batch Name], 
   T1.[Date], 
   T1.[Status] 

前述のように、LEFT JOIN を実行すると、プランのないバッチが選択されますが、T1 のバッチに行がなく、T2 に行がないことが確実にわかっている場合は、INNER JOIN で問題ありません。

個人的には、両方のケースをうまくカバーしているので、最初のほうが好きです。

于 2013-09-12T03:25:28.000 に答える
0

それはかなり単純なように見えますGROUP BY:

SELECT T1.[Batch Id], BatchName, Date, Status, COUNT(PlanNumber) AS PLANCOUNT
FROM Table1 T1
JOIN Table2 T2 ON T1.[Batch Id] = T2.[Batch Id]
GROUP BY T1.[Batch Id], BatchName, Date, Status
于 2013-09-12T03:25:39.687 に答える