1

mysqlで「LEFT JOIN」または「RIGHT JOIN」を使用せずに複数のテーブルからデータを取得するにはどうすればよいですか? または PHP/Mysql を使用して可能ですか?

場合によっては、データを取得できます。「2 つのテーブル」を使用する場合や、複雑な「WHERE」条件がない場合などです。

しかし、5,6,7----15 個のテーブルを使用すると、データを取得できなくなります。

誰でも私を助けてください。ありがとうアドバンス。

4

4 に答える 4

1
  • 最初のテーブルで検索を行い、
  • 2番目のテーブルでSELECT * FROM table_2 WHERE table_2.fk_table_1 IN ($pks_from_table_one)

続けてください...しかし、これは、DBへのラウンドトリップnでクエリを実行することを意味しますn-一部の企業はsを禁止していると聞きましたが、JOIN実際にはもっと良い場合もあります-しかし、私はまだそれをしなかったので、お勧めしませんそれも。

于 2012-05-08T11:18:17.033 に答える
1

あなたが食べ物と人を持っているとしましょう。あなたは人々が好きな食べ物を手に入れたいのです。

食品:id、food_name

人々:id、name、food_id

ここでのfood_idは、foodsテーブルのidフィールドを指します。

簡単に行う:SELECT people.name、food.food_name FROM people、foods WHERE people.food_id = foods.id

于 2012-05-08T11:18:48.523 に答える
0

「結合」の代わりに「エイリアス」を使用できます。

4 つのテーブルがあるとします。

構文:

Select * from Table1 A, Table2 B, Table3 C, Table4 D
where A.id= B.id and A.city=C.city and B.subject=D.subject
于 2012-05-08T11:40:14.057 に答える
0

これは、JOIN ステートメントを使用せずにサブクエリを追加することで作成できます。例では、顧客であるユーザーを抽出するために 3 つのテーブルが使用され、そのマウントは 999 以下です。確認してください。

Select TUsers.names TCustomers.names 
FROM TUsers, TCustomers
Where TUsers.id = TCustomer.id AND TCustomers.id IN
(Select TCustomer.id
FROM TCustomer
WHERE TCustomer.amount >= 999)

役に立ったら評価してください:)

于 2012-05-08T11:31:09.943 に答える