2010-03-22 103 views
1

我正在使用PHP和MySQL。这是从四个不同的表中选择有关“user_1”的信息的最佳方法吗?我知道它是有效的,因为我已经尝试过了。但是,这是从“user_1”的多个表中选择信息的首选方法吗?从多个表中为PHP和MySQL选择一个唯一ID的信息

$query = "SELECT table_1.username, table_2.city, table_3.state, table_4.country 
    FROM table_1 
    JOIN table_2 
     ON table_1.username=table_2.username 
    JOIN table_3 
     ON table_1.username=table_3.username 
    JOIN table_4 
     ON table_1.username=table_4.username 
    WHERE table_1.username = 'user_1'"; 
+0

你真的指'table_1.username = table_4.country'等吗? – cletus 2010-03-22 00:23:33

+0

对不起。我的意思是table_1.username = table_2.username – Mark 2010-03-22 00:27:51

回答

4

我不认为你的例子会起作用,至少是你描述它的方式。您正在从table_2中选择“城市”字段等于“用户名”字段的位置。你可能会这样认为:

ON table_1.city = table_2.city 

等等对于其余的人来说。但是,一般来说,在关系数据库中使用JOIN是可以接受的,尽管在这个特定的例子中,我不确定你想要做什么。