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

質問編集履歴

3

タイトル変更

2019/04/28 22:23

投稿

snowshink
snowshink

スコア140

title CHANGED
@@ -1,1 +1,1 @@
1
- サブクエリでおおもとのクエリのエイリアスを使った時のエラー
1
+ サブクエリでおおもとのクエリのエイリアスを使った時のエラーを説明して下さい。
body CHANGED
File without changes

2

説明の追加

2019/04/28 22:22

投稿

snowshink
snowshink

スコア140

title CHANGED
File without changes
body CHANGED
@@ -52,9 +52,25 @@
52
52
  LeagueNo VARCHAR(2) NOT NULL,
53
53
  AreaNo VARCHAR(2) NOT NULL,
54
54
  TeamNo VARCHAR(2) NOT NULL,
55
- TeamName VARCHAR(50) NOT NULL) CHARSET=SJIS;
55
+ TeamName VARCHAR(50) NOT NULL,
56
+ PRIMEKEY(TeamNo)) CHARSET=SJIS;
57
+
56
58
  ```
57
59
 
58
60
  やろうとしたことはチーム番号2、背番号5の人と同じポジションの人のチーム名、ポジション名、背番号、選手名を取得することです。
59
61
 
60
- ちなみにこれは演習として作ったクエリです。
62
+ ちなみにこれは演習として作ったクエリです。
63
+
64
+ 皆さんの回答を見て、勘違いされているようなので追記します。
65
+ 私が知りたいのは「このクエリ文で呼びされたサブクエリの中身」から「クエリ文が実行されたときの内部処理の内容」であって、
66
+ エラーの直しかたではないです。サブクエリ文のエイリアスをとればいいのは分かってます。
67
+
68
+ 質問は
69
+
70
+ 内部でどのような処理が行われて、サブクエリでどのようなテーブルが呼び出されたのでしょうか。
71
+
72
+ ですから。
73
+
74
+ このエラーの直し方を教えてください
75
+
76
+ ではないです。

1

編集依頼への返答

2019/04/27 00:58

投稿

snowshink
snowshink

スコア140

title CHANGED
File without changes
body CHANGED
@@ -30,4 +30,31 @@
30
30
 
31
31
  playerにはteamNo,positionNo,uniformNo,playerName 、
32
32
  teamには teamNo , teamName 、
33
- position1には positionNo, positionName のカラムがあります。
33
+ position1には positionNo, positionName のカラムがあります。
34
+
35
+ 追記
36
+
37
+ ```SQL
38
+ CREATE TABLE Position1(
39
+ SportNo VARCHAR(2) NOT NULL,
40
+ PositionNo VARCHAR(2) NOT NULL,
41
+ PositionName VARCHAR(20) NOT NULL,
42
+ PRIMARY KEY(SportNo,PositionNo)) CHARSET=SJIS;
43
+ CREATE TABLE Player(
44
+ TeamNo VARCHAR(2) NOT NULL,
45
+ PositionNo VARCHAR(2) NOT NULL,
46
+ UniformNo VARCHAR(2) NOT NULL,
47
+ BirthDay DATE NOT NULL,
48
+ PlayerName VARCHAR(20) NOT NULL,
49
+ PRIMARY KEY(TeamNo,UniformNo)) CHARSET=SJIS;
50
+ CREATE TABLE Team(
51
+ SportNo VARCHAR(2) NOT NULL,
52
+ LeagueNo VARCHAR(2) NOT NULL,
53
+ AreaNo VARCHAR(2) NOT NULL,
54
+ TeamNo VARCHAR(2) NOT NULL,
55
+ TeamName VARCHAR(50) NOT NULL) CHARSET=SJIS;
56
+ ```
57
+
58
+ やろうとしたことはチーム番号2、背番号5の人と同じポジションの人のチーム名、ポジション名、背番号、選手名を取得することです。
59
+
60
+ ちなみにこれは演習として作ったクエリです。