我有大约10个表。一个具有主键和所有其他表的表通过外键连接到该单个表。 例如。基于主键加入多个sql表
Table main : 1,2,3,4,5,6,7,8
Tablechild: 1,2,3
Tableanchild: 1,3,5
Tableachild: 1,2,4,5
我想为主表和所有其他表提取完整的数据。
1 "tablechild data" "tableanchild data" tableachild data"
2 tablechild data tableachild data
3 tablechild data tableanchild data
4
5
6
7
8
我用left join
,但它是给予还原剂数据。对于每个显示外键的表格,请提前致谢。
$sql = "SELECT * FROM login AS jon
LEFT JOIN re as rec ON jon.no=rec.no
LEFT JOIN bio as bio ON jon.no=bio.no
LEFT JOIN pon as po ON jon.no=po.no
LEFT JOIN rec as re ON jon.no=re.no
LEFT JOIN spn as sp ON jon.no=sp.no" ;
我还试图
" SELECT login.no,re.name ,re.num,bio.address,bio.phone,pon.lline,pon.set,rec.book,rec.pen,spn.rub,spn.stylo FROM login,re,bio,pon,rec,spn WHERE login.no=re.no AND login.no=bio.no AND login.no=pon.no AND login.no=rec.no AND login.no=spn.no ";
我想要做像 SELECT斧,通过,BZ,镉,CF FROM A,B,C,其中AX是为x不同 是在主键A和其他外键。 预期输出
1 B data
2 B data C data
3 C data
4 B data C data
5
现在我得到
1 B data
1 ....
1 .......
2 ....
2 ......
3
4
4
5
请提供您使用,直至现在的查询。 – 2012-07-24 13:58:57
也许创建这些表? – devanand 2012-07-24 13:59:52
@KubaWyrostek:我编辑并提供了两种方式,我尝试过。第一种是给予多余的外键,第二种是给予交集,因为可能不会有所有表 – user1512411 2012-07-24 15:02:06