我有4个表都具有相同的主键,其结构如下:
table_1 : u_id | col1 | col2
table_2 : u_id | col3 | col4
table_3 : u_id | col5 | col6
table_4 : u_id | col7 | col8
我想根据"col1", "col4", "col6" and "col7"
的值获取u_id
的数据。
u_id
的值在每个表中都相同。
例如。如果u_id='8'
,则获取u_id='8'
的所有指定列值。
我猜我没有正确使用连接。
感谢。
答案 0 :(得分:9)
这应该是非常直截了当的。使用INNER JOIN
SELECT a.col1, b.col4, c.col6, d.col7
FROM table1 a
INNER JOIN table2 b
ON a.u_id = b.uid
INNER JOIN table3 c
ON a.u_id = c.uid
INNER JOIN table4 d
ON a.u_id = d.uid
WHERE a.u_ID = 8
要了解有关联接的更多信息,请参阅以下文章。
答案 1 :(得分:1)
SELECT
table_1.col1,
table_2.col4,
table_3.col6,
table_4.col7
FROM
table_1,
table_2,
table_3,
table_4
WHERE
table_1.u_id = '8' AND
table_1.u_id = table_2.u_id AND
table_1.u_id = table_3.u_id AND
table_1.u_id = table_4.u_id