1

无法在此处创建表格,因此必须打印屏幕

所以问题是我如何显示表 SP 中具有最大数量 (QTY) 的供应商 (S)。

这就是我想出的:

  SELECT sno FROM sp WHERE sno in (SELECT max(QTY) FROM sp WHERE qty);

但它只显示空字段,我找不到问题。我将衷心感谢您的帮助。

4

2 回答 2

2
SELECT a.* 
FROM tableA a
     INNER JOIN tableB b
        ON a.S = b.S
WHERE b.qty = (SELECT max(qty) FROM tableB)
于 2012-11-27T22:56:12.640 回答
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

于 2012-11-27T23:02:07.517 回答