2011-10-24 58 views
0

我需要從我的數據庫中的2個表中提取數據。我從表2中得出的數據取決於表1的結果。php mysql加入查詢

我對所有這些連接和事物都不是很瞭解,所以如果有人能解釋我在這裏需要什麼樣的JOIN,以及如何它看起來,我會很感激:

$sql_result = mysql_query("SELECT * FROM accounts WHERE id='$val'", $db); 
$rs = mysql_fetch_array($sql_result); $name = $rs[name]; 

$sql_result2 = mysql_query("SELECT * FROM players WHERE name='$name'", $db); 
$rs2 = mysql_fetch_array($sql_result2); 

回答

1
$sql="SELECT * FROM accounts JOIN players ON accounts.accounts_link_to_player_id_here=players.id WHERE accounts.id='$val'"; 
+0

我用過這個。謝謝。 – user961882

+0

您可以標記爲未來的Google員工回答的問題嗎?謝謝! – Whetstone

+1

是的,我試圖但它告訴我等5分鐘:) – user961882

-1

你需要一個查詢,看起來像這樣(這是在SQL稱爲子查詢)。

「SELECT p * FROM players p WHERE name IN(SELECT n.name FROM accounts n WHERE n.id ='$ val')「

+1

子選擇是一個壞的方法來做到這一點有幾個原因,加入是綽綽有餘。 –

1

你可以做這樣的事情,這取決於表(S)的結構:

SELECT * FROM `accounts` INNER JOIN `players` USING (`name`) WHERE `accounts`.`id` = 'value'; 
0

SELECT * FROM accounts LEFT JOIN players使用(name)WHERE accountsid ='價值';