ATM*_*hew 30 mysql sql join inner-join
所以我有四张桌子.每个表都有一个前一个表id的id.所以我在点击表中有一个ID和一个ID来自它的广告.在广告表中,它具有广告ID和来自广告系列的ID.所以这是一个例子.
Table4 -
id company table_id
11 hp 20
12 apple 23
13 kohls 26
14 target 21
15 borders 28
Table3 -
id value table2_id
21 ks 53
22 al 54
23 tx 53
24 fl 55
25 co 51
Table2 -
id value table1_id
51 ks 34
52 al 34
53 tx 33
54 fl 35
55 co 31
Table1 -
id value
31 ks
32 al
33 tx
34 fl
35 co
Run Code Online (Sandbox Code Playgroud)
因此,为了找出表4中的值来自何处,我需要回顾每个表并检查它们具有哪个ID.基本上,我想知道表1中的哪些值与表4中的值相关联.
表4作为网站访问者和表1作为互联网广告.我想知道哪些访问者来自哪些广告.不幸的是,数据已设置好,因此我只能从访问者到源代码,广告组再到广告.那有意义吗?
无论如何,我想知道是否使用4个内部连接是这个问题的最佳策略,还是有一些我不知道的更简单的mysql解决方案.
Nar*_*ian 68
内连接可能是最好的方法,你只需要3.
这将为您提供包含两列的结果集:公司和关联值.
SELECT Table4.company, table1.id, table1.value
FROM Table1
INNER JOIN Table2
ON Table2.table1_id = Table1.id
INNER JOIN Table3
ON Table3.table2_id = Table2.id
INNER JOIN Table4
ON Table4.table3_id = Table3.id
Run Code Online (Sandbox Code Playgroud)