ここにサンプルテーブルがありますが、「アイテム」に「アイテム」を差し引いていますが、この項目では、nullを "items in"の値にする必要があります。「NULL」に減算すると元の値を保持する方法
|ItemCode | Qty |isIN|isOUT|
|---------|-----|----|-----|
| 1 |2 | 1 | 0 |
|---------|-----|----|-----|
| 2 |5 | 1 | 0 |
|---------|-----|----|-----|
| 3 | 1 | 1 | 0 |
|---------|-----|----|-----|
| 4 | 2 | 1 | 0 |
|---------|-----|----|-----|
| 10 | 14 | 1 | 0 |
|---------|-----|----|-----|
| 10 | 1 | 0 | 1 |
|---------|-----|----|-----|
| 10 | 1 | 0 | 1 |
|---------|-----|----|-----|
| 12 | 1 |1 | 0 |
|---------|-----|----|-----|
| 12 | 1 | 0 | 1 |
|---------|-----|----|-----|
| 13 | 1 | 1 | 0 |
|---------|-----|----|-----|
| 14 | 2 | 1 | 0 |
|---------|-----|----|-----|
| 14 | 1 |0 |1 |
私のクエリはこれです。
SELECT i.ItemCode, Sum(i.Qty)-(select Sum(Qty) from INVENTORY where isOUT = 1 and i.ItemCode = ItemCode)as Qty
FROM INVENTORY i
WHERE isIN = 1
GROUP BY i.ItemCode
結果はこれです:
|ItemCode | Qty |
|---------|-----|
| 1 |NULL |
|---------|-----|
| 2 |NULL |
|---------|-----|
| 3 |NULL |
|---------|-----|
| 4 |NULL |
|---------|-----|
| 10 | 12 |
|---------|-----|
| 12 | 0 |
|---------|-----|
| 13 | NULL|
|---------|-----|
| 14 | 1 |
|---------|-----|
あなたはどのデータベースを使用していますか?適切なタグを付けてください。あなたはどんな結果を望んでいますか? –
あなたのデータベースにnullがありますか?そのような場合は、クエリにデフォルト値を追加する必要があります(0など)。そうでない場合は、おそらくあなたのクエリに何か間違っている –
こんにちはゴードンは、SQLサーバー2008 – Trehv