家庭作业:没有间接获得价值的子查询

use*_*137 0 sql

我很难创建一个smth的查询,听起来像这样:比灰盒洗涤剂花费更多的物品的名称和颜色是什么(2个属性:颜色:灰色,类型:洗涤剂).

注意:我不允许使用子查询或将价格用作常量.

使用子查询我设法得到这个:

SELECT name, color
FROM items
WHERE cost > (SELECT price FROM items WHERE type='detergent' AND color='grey');
Run Code Online (Sandbox Code Playgroud)

关于如何在不使用子查询的情况下获得上述查询的任何想法?

我的想法已经不多了......

Mat*_*nen 5

您可以使用联接自我.

SELECT i1.name, i1.color
FROM items i1
INNER JOIN items i2 
  ON (i2.type = 'detergent' 
     AND i2.color = 'grey' 
     AND i1.cost > i2.cost)
Run Code Online (Sandbox Code Playgroud)