【发布时间】:2021-08-04 07:59:30
【问题描述】:
我需要一些帮助,将多个 SQL 查询合并为一个...
我有一个用于 orderid 或 sampleref 的搜索框。一个订单最多可能有 99 个 sampleref,因此我希望客户能够提取与其订单号相关联的所有 sampleref 的列表,无论他们是通过 orderid 还是其中一个 sampleref 进行搜索。基本上我想做的是,
SELECT `orderid` as OrderNumber FROM `results` WHERE `sampleref` = 'TEST12345';
SELECT * FROM `results` WHERE `orderid` = OrderNumber GROUP BY `sampleref`;
为清楚起见,我将其放入 Maria DB mysql 服务器的 PHP 脚本中
这是一个示例数据库
+----+---------+-----------+
| id | orderid | sampleref |
+----+---------+-----------+
| 1 | 101388 | TEST12345 |
| 2 | 101388 | TEST54321 |
| 3 | 333444 | ABC123 |
| 4 | 333444 | ABC321 |
+----+---------+-----------+
谢谢
亨利
【问题讨论】:
-
SET Order_Number as OrderNumber不是有效的 SQL 查询。你能解释一下你的第二个“查询”应该做什么吗? -
我已经用我的工作更新了我的 SQL 查询,就你所见,我想将从第一个返回的订单号传递到第二个查询中,尽管我认为这可能可以写成单个查询也
-
第二次查询(更新后),
SELECT *与GROUP BY sampleref不兼容。你在那里做GROUP BY的原因是什么? -
减少任何重复的结果。我从 PHPmyadmin 得到的错误是 OrderNunber 是一个未知列