0

同じフィールドを持つ2つの同様のテーブルがあります。1 つは「input」、もう 1 つは「product」という名前で、どちらも同じフィールドを持ちます。

  • ID
  • 名前
  • 数量
  • 単位
  • 価格
  • pic(fk - どちらも同じピクチャ テーブルを参照します)。

私の最初の質問は次のとおりです。すべてのアイテムの詳細を効果的に返すクエリを作成するにはどうすればよいですか?

JSON を使用してこのデータをエクスポートします

$json_data.='"rec'.$i.'":{"id":"'.$id.'", "name":"'.$name.'", "price":"'.$price.'", "qty":"'.$qty.'", "units":"'.$unit.'", "pic":"'.$pic.'"},';`. 

2 番目の質問: 両方のテーブルのすべてのフィールドを効果的に参照するにはどうすればよいですか?

item注意: 2 つのカテゴリを同じテーブルに入れたくありませんcategory

これを修正するためだけに: 結合条件は (input.pic=pic.id and product.pic=pic.id) です

4

3 に答える 3

1

テーブルに同じフィールドがある場合は、ユニオン クエリを実行できます。

 SELECT * FROM table1
 UNION 
 SELECT * FROM table2

あなたが言うようにそれらが似ている場合は、両方に共通するフィールドを選択するだけです

 SELECT "table1" as source_table,id,name,qty,unit,price from table1
 UNION
 select "table2" as source_table,id,name,qty,unit,price from table2

ソーステーブルを追加したことに注意して、どこから取得したかをバックトラックできるようにします....乾杯

于 2013-05-24T19:25:18.003 に答える
0

mysqlでフルアウターを使用するこれは不可能なので、ユニオンを使用/利用してすべての行を取得します

SELECT * FROM input
LEFT JOIN product ON input.id = product.id
UNION
SELECT * FROM input
    RIGHT JOIN product ON input.id = product.id
于 2013-05-24T19:28:48.510 に答える