-2

私はすべて学生情報を含む6つのテーブルを持っています。テーブル名: 学生の詳細、医師の詳細、入学の詳細、previous_school、父親の詳細、母親の詳細。これらの各テーブルには一意の ID が含まれています。

これらすべてのテーブルを 1 つにまとめるために、上記の 6 つのテーブルのすべての ID を含む Student_info テーブルがあります。これらは、対応するテーブルの一意の ID にリンクされています。

すべての学生情報を表示する必要があります。左結合と右結合を使用することはわかっていますが、mysql が Student_info テーブルの ID を読み取り、対応するテーブルからすべての情報を取得して、ユーザーがすべての学生情報を表示できるようにする方法がわかりません。 1つの形で。

前もって感謝します。

4

2 に答える 2

0

これを機能させるには、結合を指定する必要があります。

select * from student, student_info where student_info.student_id = student.id

これにより、サーバーは両方のテーブルからすべての情報を返すように指示されます。ここで、学生 ID は、学生情報に保存されている学生 ID と一致します。

ここでは、学生が Student_info を持つ 1:many であると想定しています (少なくとも 1 つあるが、学生情報ごとに複数の学生情報行が存在する可能性があります)。

于 2013-04-01T18:40:21.270 に答える
0

編集: http://sqlfiddle.com/#!2/c5489/2 (実例)

すべての を各テーブルに配置する必要はありませんid。むしろ、各テーブルには独自の主キー ID があり、一意であることが保証されています。inner join

Table A(user_id int, user_name varchar(255))
Table B(student_id int, student_email varchar(255))

次に、関連する ID を使用して結合することにより、必要なデータを選択します。

Select user_name from TableA
INNER JOIN TableB ON
TableA.user_id = TableB.student_id
于 2013-04-01T18:39:10.430 に答える