我如何转换此块:
select p.ProductNumber, p.Name
from product as p, productsubcategory as ps
where p.ProductSubcategoryID = ps.ProductSubcategoryID
and ps.Name = 'Pedals'
order by p.ProductNumber;
进入只使用子查询而不是为数据库使用两个别名的那个?
答案 0 :(得分:1)
以下使用子查询和保留表中的别名。表别名是个好主意:
select p.ProductNumber, p.Name
from product p
where p.ProductSubcategoryID in (select ps.ProductSubcategoryID
from productsubcategory ps
where ps.Name = 'Pedals'
)
order by p.ProductNumber;
注意:您的原始查询很好,除了它应该使用显式join
语法而不是join
子句中的隐式where
。