1

他の質問と回答を見てきましたが、どれが私をここに連れてきたのかまだわかりません。

1 つのデータベースに 2 つのテーブルがあります。データベースの table1 と table2 としましょう。

table1 からすべての情報を取得し、table1 の正しい行と一致する table2 から 1 つの列のみを取得しようとしています。

私が知っている例は間違っています:

SELECT table1.*, table2.time_stamp FROM table1, table2 
    WHERE table1.ticket_id=$var AND table1.user_id = table2.user_id

基本的に、table1 からデータを選択し、選択したテーブルの値を使用して table2 から関連データを取得し、それらを結合して 1 つの mysql_query として出力します。シンプルで、以前に尋ねられたことがあると確信しています。

編集:

エラーが表示されません。SQL は noting を返すだけです。これのログ形式は次のようになります。

$sqlResults = mysql_query("SELECT table1.* FROM table1 WHERE table1.ticket_id=$var")

while($rowResult = mysql_fetch_array( $sqlResults )) {

$userID = $rowResult['user_id'];

$sqlResults2 = mysql_query("SELECT table2.time_stamp FROM table2 
    WHERE table2.user_id=$userID")

}

それを1つのSQLステートメントに結合したいので、table1が持つすべての行に対してtable2をヒットする必要はありません

4

1 に答える 1

2

a を使用しJOINて、table2 の行を table1 の行にバインドします。

SELECT t1.*, t2.time_stamp FROM table1 t1 
JOIN table2 t2 ON t1.user_id = t2.user_id
WHERE t1.ticket_id=$var
于 2012-04-11T20:50:23.523 に答える