我有一些具有相同结构的表(大约 20 个),我正在尝试使用 php 脚本对它们进行排序,并将它们插入到一个新表中,其中最便宜的价格是最便宜的 1,然后是最便宜的 2 更贵......最贵的在最便宜的列中:
表A:
id
名称
价格
表B:
id
名称
价格
表 X:
id
名称
价格
表结果:
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 (?, ?, ?, ?) ');