所以问题是如何向表SP显示具有最大数量(QTY)的供应商(S)。
这就是我提出的:
SELECT sno FROM sp WHERE sno in (SELECT max(QTY) FROM sp WHERE qty);
但它只显示空字段,我找不到问题。 我非常感谢你的帮助。
答案 0 :(得分:2)
SELECT a.*
FROM tableA a
INNER JOIN tableB b
ON a.S = b.S
WHERE b.qty = (SELECT max(qty) FROM tableB)
答案 1 :(得分:1)
怎么样
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