質問編集履歴

2

select*fromを追加しました

2022/07/09 08:56

投稿

a-nakanishi
a-nakanishi

スコア1

test CHANGED
File without changes
test CHANGED
@@ -31,8 +31,9 @@
31
31
  ```
32
32
 
33
33
  ```ここに言語を入力
34
+ select * from(
34
- select distinct 2 区分,n4.加工先コード,n4.商品コード,適用開始日,適用終了日,開始日,終了日,数量未満,仕入本体単価 from [dbo].[マスタ外注単価]n4
35
+ select distinct 2 区分,n4.加工先コード,n4.商品コード,適用開始日,適用終了日,開始日,終了日,数量未満,仕入本体単価
35
-
36
+            from [dbo].[マスタ外注単価]n4
36
37
  inner join( select 加工先コード,商品コード,max(適用終了日)as 終了日
37
38
  from[dbo].[マスタ外注単価]
38
39
  where 適用終了日>='2021/12/01' and 適用終了日 is not null
@@ -47,6 +48,7 @@
47
48
  )n6
48
49
  on n4.商品コード=n6.商品コード and n4.加工先コード=n6.加工先コード
49
50
 
50
- where n4.商品コード='100000054' and 適用開始日=開始日 and 適用終了日=終了日
51
+ where n4.商品コード='100000054' and 適用終了日=終了日)b
52
+ where 適用開始日 = max(適用開始日)
51
53
  コード
52
54
  ```

1

回答ありがとうございます。実際作っているものです。これで大丈夫でしょうか?お手数おかけいたします。不足あれば教えてください。

2022/07/09 08:14

投稿

a-nakanishi
a-nakanishi

スコア1

test CHANGED
File without changes
test CHANGED
@@ -16,3 +16,37 @@
16
16
  |ID|適用開始日|適用終了日|単価|
17
17
  |:--|:--:|--:|--:|
18
18
  |1|3/1|6/30|200
19
+
20
+ ```ここに言語を入力
21
+ CREATE TABLE [dbo].[マスタ外注単価](
22
+ [加工先コード] [varchar](10) NULL,
23
+ [商品コード] [varchar](25) NULL,
24
+ [数量未満] [decimal](13, 0) NULL,
25
+ [適用開始日] [datetime] NULL,
26
+ [適用終了日] [datetime] NULL,
27
+ [仕入本体単価] [decimal](13, 0) NULL,
28
+ )
29
+
30
+ コード
31
+ ```
32
+
33
+ ```ここに言語を入力
34
+ select distinct 2 区分,n4.加工先コード,n4.商品コード,適用開始日,適用終了日,開始日,終了日,数量未満,仕入本体単価 from [dbo].[マスタ外注単価]n4
35
+
36
+ inner join( select 加工先コード,商品コード,max(適用終了日)as 終了日
37
+ from[dbo].[マスタ外注単価]
38
+ where 適用終了日>='2021/12/01' and 適用終了日 is not null
39
+ group by 加工先コード,商品コード
40
+ )n5
41
+ on n4.商品コード=n5.商品コード and n4.加工先コード=n5.加工先コード
42
+
43
+ inner join( select 加工先コード,商品コード,max(適用開始日)as 開始日
44
+ from[dbo].[マスタ外注単価]
45
+ where 適用終了日>='2021/12/01' and 適用終了日 is not null
46
+ group by 加工先コード,商品コード
47
+ )n6
48
+ on n4.商品コード=n6.商品コード and n4.加工先コード=n6.加工先コード
49
+
50
+ where n4.商品コード='100000054' and 適用開始日=開始日 and 適用終了日=終了日
51
+ コード
52
+ ```