我的数据库中有8个表,我想使用查询从数据库中获取数据。
我的第一张桌子有master_id
,我在主桌后的每张桌子上都传了它。我想获取我在表格中传递的master_id
的所有数据。
我在其中遇到了一些语法错误。
SELECT edu_tb.* FROM edu_tb
INNER JOIN master_tb ON
master_tb.`master_id` = edu_tb.`master_id`
AND
// table 2 experience
SELECT exp_tb.* FROM exp_tb
INNER JOIN master_tb ON
master_tb.`master_id` = exp_tb.`master_id`
AND
// table 3 certificate
SELECT certi_tb.* FROM exp_tb
INNER JOIN master_tb ON
master_tb.`master_id` = certi_tb.`master_id`
答案 0 :(得分:0)
建议不要使用*从查询中检索字段,尤其是涉及多个表时。由于星号,下面的查询可能会有问题。
SELECT edu_tb.*, exp_tb.*, certi_tb.*
FROM master_tb
INNER JOIN edu_tb ON edu_tb.`master_id` = master_tb.`master_id`
INNER JOIN exp_tb ON exp_tb.`master_id` = master_tb.`master_id'
INNER JOIN certi_tb ON certi_tb.`master_id` = master_tb.`master_id
答案 1 :(得分:0)
以下内容:
SELECT * FROM master_tb mt
INNER JOIN edu_tb et ON mt.master_id = et.master_id
INNER JOIN exp_tb ex_t ON mt.master_id = ex_t.master_id
INNER JOIN certi_tb ct ON mt.master_id = ct.master_id;
答案 2 :(得分:0)
要在phpmyadmin中获得结果,
ViewController
此查询导致myadmin查询结果为SELECT edu_tb.* FROM edu_tb
INNER JOIN master_tb ON
master_tb.`master_id` = edu_tb.`master_id`
--AND
-- table 2 experience
SELECT exp_tb.* FROM exp_tb
INNER JOIN master_tb ON
master_tb.`master_id` = exp_tb.`master_id`
--AND
--table 3 certificate
SELECT certi_tb.* FROM certi_tb
INNER JOIN master_tb ON
master_tb.`master_id` = certi_tb.`master_id`
。
如果您尝试将数据集设置为 php code ,将只接收一个select语句的输出(最后一个选择的输出)语句)。
因此,将所有这些表连接在一起将使您在单个select语句中包含所有这些表。
3 different table outputs
希望这会有所帮助。