下記は
user_dataテーブルとuser_prテーブルを結合して
user_dataテーブルと同じidの人のuser_prテーブルの情報の
user_dataテーブルのidとuser_prテーブルのuser_idを取り出しているSQL文だと思います。
sql
1SELECT user_data.id,user_pr.user_id FROM user_data,user_pr WHERE user_data.id=user_pr.user_id;
上記で一覧が取得できていますが、更にもうひとつuser_skillというテーブルを参照(計3テーブル)することになり
sql
1SELECT user_data.id,user_pr.user_id,user_skill.user_id FROM user_data,user_pr,user_skill WHERE user_data.id=user_pr.user_id=user_skill.user_id;
という風にしているのですが、読み込めずです...
どうしたら良いのでしょうか?
とりあえず動作確認したいので、コマンドプロントで確認しています。
テーブル構造は下記の通りです。
user_data | CREATE TABLE user_data
(
id
int(11) NOT NULL AUTO_INCREMENT,
created
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
email
varchar(50) NOT NULL,
password
varchar(255) NOT NULL,
name1
varchar(255) DEFAULT NULL,
name2
varchar(255) DEFAULT NULL,
name3
varchar(255) DEFAULT NULL,
name4
varchar(255) DEFAULT NULL,
name5
varchar(255) DEFAULT NULL,
name6
varchar(255) DEFAULT NULL,
middle_name
varchar(255) DEFAULT NULL,
birth_year
varchar(255) NOT NULL,
birth_month
varchar(255) NOT NULL,
birth_day
varchar(255) NOT NULL,
gender
char(2) NOT NULL,
first_post
varchar(255) NOT NULL,
last_post
varchar(255) NOT NULL,
pref
varchar(255) NOT NULL,
city
varchar(255) NOT NULL,
town
varchar(255) NOT NULL,
building
varchar(255) DEFAULT NULL,
tel1
varchar(255) NOT NULL,
tel2
varchar(255) NOT NULL,
tel3
varchar(255) NOT NULL,
PRIMARY KEY (id
),
UNIQUE KEY email
(email
)
) ENGINE=InnoDB AUTO_INCREMENT=63 DEFAULT CHARSET=utf8 |
user_pr | CREATE TABLE user_pr
(
id
int(11) NOT NULL AUTO_INCREMENT,
user_id
int(11) NOT NULL,
major_category
varchar(255) NOT NULL,
major_skill
varchar(255) NOT NULL,
cont_date
varchar(255) NOT NULL,
introduction
text NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 |
user_skill | CREATE TABLE user_skill
(
id
int(11) NOT NULL AUTO_INCREMENT,
user_id
int(11) NOT NULL,
skill
varchar(255) DEFAULT NULL,
year
varchar(255) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=103 DEFAULT CHARSET=utf8 |
回答1件
あなたの回答
tips
プレビュー