同じ構造のいくつかのテーブル (約 20) があり、php スクリプトを使用してそれらを並べ替え、新しいテーブルに挿入しようとしています。列の最も安い20:
テーブル A:
ID
名前
価格
表B:
ID
名
価格
表 X:
ID
名前
価格
tableResult :
ID
名
格安1 価格1 格安2
価格
2
...
格安X 価格
X
これまでの私のコードは次のとおりです。
(SELECT id, price, name FROM tableA WHERE id = $id)
UNION
(SELECT id, price, name FROM tableB WHERE id = $id)
ORDER BY price ASC
私は別の解決策を探していましたが、15000行を選択するには時間がかかりすぎるため、別の方法があると思います。更新クエリをまだ探していません。最初に選択を修正する必要があります。
なにか提案を?
編集:より多くのテーブルを使用して、質問を明確にしました
EDIT2:ソリューション
私はついにそれを正しくしました。これは、最も安いものを選択するためのクエリです。各 ID を選択してブラウズします。
(SELECT price AS P1, name, id FROM tableA WHERE id = ?) UNION (SELECT price AS P1, name, id FROM tableB WHERE id = ?) UNION (SELECT price AS P1, name, id FROM tableC WHERE id = ?) ORDER BY P1 ASC
次に、glglgl が提案したように、新しいテーブルに挿入します。
('INSERT INTO table (id, name, Position, price) VALUES (?, ?, ?, ?) ');