所以问题是我如何显示表 SP 中具有最大数量 (QTY) 的供应商 (S)。
这就是我想出的:
SELECT sno FROM sp WHERE sno in (SELECT max(QTY) FROM sp WHERE qty);
但它只显示空字段,我找不到问题。我将衷心感谢您的帮助。
SELECT a.*
FROM tableA a
INNER JOIN tableB b
ON a.S = b.S
WHERE b.qty = (SELECT max(qty) FROM tableB)
怎么样
SELECT sno FROM sp ORDER BY qty DESC LIMIT 1
这样你就可以索引 QTY 而不必进行全表扫描
然后,您可以使用连接来获取 S 中的数据,而无需进行子选择或任何类似的昂贵操作
SELECT s.* FROM sp LEFT JOIN s USING(sno) ORDER BY qty DESC LIMIT 1