teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

あほだった

2018/08/05 15:00

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -3,4 +3,37 @@
3
3
  商品名,
4
4
  Sum(在庫) - (SELECT COUNT(商品リストid) FROM 仮押さえリスト Where 商品リストid= Goods.商品リストid) AS 在庫
5
5
  FROM 商品リスト GROUP BY 商品リストid, 商品名;
6
+ ```
7
+
8
+ -- 修正
9
+ ```SQL
10
+ CREATE TABLE 商品リスト
11
+ (`商品リストid` int,`商品コード` nchar(10),`商品名` nchar(4),`在庫` int,`サイズ` nchar(2));
12
+ INSERT INTO 商品リスト VALUES
13
+ ( 1,' fruits01 ', 'りんご',5,'中' )
14
+ ,( 2,' fruits01 ', 'りんご',5,'大' )
15
+ ,( 3,' fruits02 ', 'みかん',5,'中' )
16
+ ,( 4,' fruits03 ', 'ぶどう',5,'中' );
17
+
18
+ CREATE TABLE 仮押さえリスト
19
+ (id int ,商品リストid int);
20
+ INSERT INTO 仮押さえリスト VALUES
21
+ ( 1,2)
22
+ ,( 2,3)
23
+ ,( 3,3)
24
+ ,( 4,1)
25
+ ,( 5,3)
26
+ ,( 6,3)
27
+ ,( 7,3)
28
+ ,( 8,1)
29
+ ,( 9,1)
30
+ ,( 10,1)
31
+ ,( 11,1);
32
+ ```
33
+
34
+ ```SQL
35
+ SELECT
36
+ 商品名,
37
+ Sum(在庫) - (SELECT COUNT(商品コード) FROM (SELECT 商品コード FROM 仮押さえリスト JOIN 商品リスト ON 仮押さえリスト.商品リストid = 商品リスト.商品リストid) AS T Where T.商品コード = 商品リスト.商品コード) AS 在庫
38
+ FROM 商品リスト GROUP BY 商品名;
6
39
  ```