回答編集履歴

2

説明追記

2020/04/04 11:04

投稿

hatena19
hatena19

スコア33761

test CHANGED
@@ -38,10 +38,6 @@
38
38
 
39
39
 
40
40
 
41
- > 伝票No.のみでリレーションシップを築くと仕入先が複数ある場合の仕入先の表示がおかしくなってしまいます。
42
-
43
-
44
-
45
41
  ひょっとして現状のテーブルは下記のようになっているといことでしょうか。
46
42
 
47
43
 
@@ -72,6 +68,36 @@
72
68
 
73
69
 
74
70
 
75
- こうだとして、これからどのような表示をご希望なのしょうか
71
+ こうだとしたら、テーブル設計が間違っますね。下記のような設計にすべき
76
72
 
73
+
74
+
75
+ **売上一覧**
76
+
77
+
78
+
79
+ | 売上先 | 伝票No |
80
+
81
+ |-------|------|
82
+
83
+ | A株式会社 | 10010 |
84
+
85
+
86
+
87
+ **売上明細**
88
+
89
+
90
+
91
+ | 伝票No | 明細No | 商品 | 仕入先 |
92
+
93
+ |-------|--------|------|----|
94
+
95
+ | 10010 | 1 | りんご | B株式会社 |
96
+
97
+ | 10010 | 2 | みかん | C株式会社 |
98
+
99
+
100
+
101
+ 厳密にいえば、上記から、さらに 商品マスター、売上先マスター、仕入先マスター のテーブルを作成すべきです。
102
+
77
- この掲示板はマークダウン書式で上記のように表形式で表示できますクダウン書式を使っ現状のテーブルデータ例とご希望の出力レイアウトを質問追記してもらえすか
103
+ このような設計を「テーブル正規化」といいリレショナルデータベースでは正規化されいないテーブルは使い物なりせん

1

説明追記

2020/04/04 11:04

投稿

hatena19
hatena19

スコア33761

test CHANGED
@@ -23,3 +23,55 @@
23
23
 
24
24
 
25
25
  可能なら、仕入一覧の伝票No は、伝票No(5桁)と 伝票No子番(1桁) に分割すべきです。
26
+
27
+
28
+
29
+ ---
30
+
31
+ コメントより
32
+
33
+ > 上記のように仕入先の伝票No.は売上先の伝票No.と同じですが
34
+
35
+ 仕入先が複数ある場合のみ伝票No.2として下一桁を追加している状態です。
36
+
37
+ ですので仕入先がひとつの場合は伝票No.2は空欄です。
38
+
39
+
40
+
41
+ > 伝票No.のみでリレーションシップを築くと仕入先が複数ある場合の仕入先の表示がおかしくなってしまいます。
42
+
43
+
44
+
45
+ ひょっとして現状のテーブルは下記のようになっているといことでしょうか。
46
+
47
+
48
+
49
+ **売上一覧**
50
+
51
+
52
+
53
+ | 売上先 | 商品 | 伝票No |
54
+
55
+ |-------|------|------|
56
+
57
+ | A株式会社 | りんご、みかん | 10010 |
58
+
59
+
60
+
61
+ **仕入一覧**
62
+
63
+
64
+
65
+ | 仕入先 | 伝票No | 伝票No2 |
66
+
67
+ |-------|--------|--------|
68
+
69
+ | B株式会社 | 10010 | 100101 |
70
+
71
+ | C株式会社 | 10010 | 100102 |
72
+
73
+
74
+
75
+ こうだとして、これからどのような表示をご希望なのでしょうか。
76
+
77
+ この掲示板はマークダウン書式で上記のように表形式で表示できますので、マークダウン書式を使って現状のテーブルデータ例とご希望の出力レイアウトを質問に追記してもらえますか。