2011-10-24 15 views
0

データベースの2つのテーブルからデータを取得する必要があります。テーブル2のデータは、表1の結果に依存します。php mysql join query

私はこれらのジョインと物事すべてに驚くべきではないので、誰かがここで必要なジョイン

$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で知られている)ように見えるクエリ必要があります:それは、私は感謝するだろう、になります。

」Pを選択します* FROM players p WHERE name IN(SELECT n.name FROM accounts n WHERE n.id = '$ val') "

あなたは、テーブル(複数可)の構造に応じて、このようなものを行うことができます
+1

サブセレクトは、いくつかの理由でこれを行う悪い方法であり、参加はそれ以上で十分である。 –

1

accounts左から

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

SELECT *は、(nameaccountsを使用したplayersを登録しよう。 id = '値';