MySql选择数据在PHP中是多对多关系
条目表MySql选择数据在PHP中是多对多关系,php,mysql,database,random,relationship,Php,Mysql,Database,Random,Relationship,条目表 ent_seq entry 100010 1 100020 2 100030 3 100040 4 K_ELE表 KID entry keb 1 1 食べる 2 2 日本 3 3 先生 RID entry reb 1 1 たべる 2 2 にほん 3 2 にっぽん 4 3 せんせい 5 4
ent_seq entry
100010 1
100020 2
100030 3
100040 4
K_ELE表
KID entry keb
1 1 食べる
2 2 日本
3 3 先生
RID entry reb
1 1 たべる
2 2 にほん
3 2 にっぽん
4 3 せんせい
5 4 ビール
R_ELE表
KID entry keb
1 1 食べる
2 2 日本
3 3 先生
RID entry reb
1 1 たべる
2 2 にほん
3 2 にっぽん
4 3 せんせい
5 4 ビール
感测表
SID entry
1 1
2 2
3 3
4 4
GLOSS_ENGSENSE表的子表
GID SID mean
1 1 eat
2 2 Japan
3 2 Japanese
4 3 theacher
5 4 beer
UPID SID up_date
1 1 2012.12.12 17:31
2 2 2012.12.12 17:31
3 2 2012.12.12 17:31
4 3 2012.12.12 17:31
5 4 2012.12.12 17:31
更新SENSE表的子表
GID SID mean
1 1 eat
2 2 Japan
3 2 Japanese
4 3 theacher
5 4 beer
UPID SID up_date
1 1 2012.12.12 17:31
2 2 2012.12.12 17:31
3 2 2012.12.12 17:31
4 3 2012.12.12 17:31
5 4 2012.12.12 17:31
我喜欢展示这张桌子
这个数据库是非常大的195000行,请帮助我
我的简单代码KKK
请尝试此查询-
SELECT
e.ent_seq,
e.entry,
ke.keb,
re.reb,
s.mean,
s.up_date
FROM entry e
LEFT JOIN (SELECT entry, GROUP_CONCAT(keb) keb FROM k_ele GROUP BY entry) ke
ON ke.entry = e.entry
LEFT JOIN (SELECT entry, GROUP_CONCAT(reb) reb FROM r_ele GROUP BY entry) re
ON re.entry = e.entry
LEFT JOIN (
SELECT s.entry, mean, up_date FROM sense s
LEFT JOIN (SELECT sid, GROUP_CONCAT(mean) mean FROM gloss_eng
GROUP BY sid
) ge
ON ge.sid = s.sid
LEFT JOIN (SELECT sid, GROUP_CONCAT(DISTINCT up_date) up_date FROM `update`
GROUP BY sid
) u
ON u.sid = s.sid
GROUP BY s.sid
) s
ON s.entry = e.entry
您的表在所有这些列上都有键吗?可能是我现在不第一次写这段代码的重复选择e.ent_seq,GROUP_CONCATDISTINCT kei.keb SEPARATOR“;”作为KEB,组_CONCATDISTINCT rei.reb分隔符“;”作为rebs,组_CONCATDISTINCT sei.mean sei分隔符“;”作为从条目e的平均值,从条目e左连接k_ele kei ON e.entry=kei.entry左连接r_ele rei ON e.entry=rei.entry左连接感官se ON e.entry=se.entry左连接s_gloss_eng sei ON se.SID=sei.SID其中e.ent_seq在jlptn5 jt5中选择jt5.jlpt5,其中jt5.jlpt5_null=0按兰德和GROUP排序按e.按兰特限制的入境令20