下記は
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
プレビュー
