您好,目前正在使用此代码
$qry_display = "
SELECT
student_id,
fname,
sex,
lname,
mname,
level,
photo,
birth_date,
birth_place,
address,
father,
father_occupation,
father_phone,
father_company,
father_degree,
mother,
mother_occupation,
mother_phone,
mother_company,
mother_degree,
adviser_id
from
tbl_enroll
where
student_id='$id'
AND level='$lvl'
";
$sql_display = mysql_query($qry_display) or die (mysql_error());
上面的代码从tbl_enroll获取大部分数据。现在我想获取一些关于tbl_ertbl_enroll和tbl_er与student_id的主键连接,还连接一次到tbl_sectiontbl_er和tbl_section与section_id的外键连接。
到目前为止,我一直在考虑执行多个sql查询并使用一个mysql_query触发器,但它不起作用,因为该触发器不适用于三个sql查询。
仅JOIN
三个表:
SELECT t1.*, t2.*, t3.*
from tbl_enroll t1
JOIN tbl_el t2 ON t1.student_id = t2.student_id
JOIN tbl_section t3 ON t2.section_id = t3.section_id
where student_id='$id' AND a.level='$lvl'
您应该加入这些表。这不是关于php,而是关于sql。
您可以按照systax 进行尝试
select tb1.filds,tb2.fields ... from table1 as tb1, table2 as tb2 .. where tb1.id = tb2.id and tb2.id = tb3.id ...
在哪些情况下必须正确检查。
否则,您可以使用联接查询。Join Query在上更好
SELECT te.XXX,tr.YYYY,ts.ZZZ, .....
from tbl_enroll te
inner join tbl_er tr on tr.student_id = te.student_id
inner join tbl_section ts on ts.section_id = te.section_id
where student_id='$id' and level='$lvl';
您可以在查询开始时从te、tr或ts中选择任何字段。不要忘记在字段前面加上te、tr或ts,这样在执行查询时就不会有不明确的引用;)
Combining two queries..
SELECT t1.* FROM tbl_er as t1, tbl_enroll as t2
WHERE t1.student_id= t2.student_id ORDER BY id DESC
你必须在两个表中定义学生id。。