私は2つのmysqlテーブルを持っています。そして、基本的に1つのSQLクエリ内で結合したい2つのクエリ(各テーブルに1つ)があります。それは簡単な(内部結合のような)のようなものだと思われるが、内部結合は、テーブル2から非ユニークな値を私の結果配列に複製する...私はそれらを複製したくない...私はテーブル/クエリ2からそれらの複製をしたいにはの結果レコード1SQL(mysql)サブクエリの結果を別のサブクエリに追加します
クエリ1テーブル1のレコードを取得します。結果は一意です。 (1つのIDは1つのレコードを返します)IDは自分の条件の1つと等しいレコードのすべてのフィールドを返すだけです。 [複数のORの代わりにINを使用している]
$sid = "'M-179','M-242','M-231','Q-2thru5'" ;
$query = "SELECT * FROM table1 WHERE IN ($sid)`
クエリ2はテーブル2のレコードを取得しますが、結果は一意ではありません。 1つのIDは多くのレコードを返すことができます。
$query2 = "SELECT extra_data, pub_url FROM table2 WHERE IN ($sid)";
は、だから、僕は、クエリ1の結果の最後に平手打ちALL返されたレコードから各extra_data & pub_urlフィールドをしたいです。私は意味がありますか?だから、結果は次のようになります...あなたは結果を組み合わせることにより、
[0] => Array
(
* all my returned fields from the
record returned by query 1 here
$row['extra_data']
$row['pub_url'] <-returned record from query 2
$row['extra_data']
$row['pub_url'] <-another returned record from query 2
$row['extra_data']
$row['pub_url'] <-any another returned
record from query 2, etc..
)
はい、最初のケースです。二番目ではありません。私はテーブル2の2番目のサブクエリの結果を余分な列と同じ関連する行に表示したいと思います.....それは最初のテーブルの結果にextra_data2、pub_url2、extra_data3、pub_url3、extra_data4、pub_url4を追加するようなものです... (しかし、私が述べたように、JOINとINNER JOINは動作しませんでした。なぜなら、table2の結果ごとに表1の結果を複製したからです... – lance
各 'sid'に対して、' table1'と 'table2 '? – leeyuiwah
いいえ...テーブル1の一致する.sid行ごとに、2つまたは3つ以上の.sidテーブル2の一致する行が存在する可能性があります。したがって、私の問題です。テーブル2には3つの一致する行があります...テーブルの行に列と列の結果を追加します – lance