2010-03-22 102 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是可以接受的,儘管在這個特定的例子中,我不確定你想要做什麼。