将参数传递给子查询

DPE*_*OTT 0 sql

我想知道是否可以将参数传递给选择子查询.

我想要做的是从一个表中收集一些产品数据,然后将物品的重量交叉到运输表中的运输成本以返回成本.

就像是:

select cataloguenumber, productname, 
      (select shipping.carriagecost 
       from shipping 
       where shipping.carriageweight = weight) as carriagecost
from products
Run Code Online (Sandbox Code Playgroud)

问候

DPERROTT

Noe*_*ams 7

虽然子查询可以工作,但更好,更易读和有效的方法来定义它将如下:

SELECT  p.cataloguenumber
 ,      p.productname,  
 ,      s.carriagecost    
FROM    products p
    INNER JOIN
        shipping s
    ON  p.weight = s.carriageweight
Run Code Online (Sandbox Code Playgroud)

这假设所有产品重量在装运表中都有相应的条目.如果不是这种情况,则从更改INNER JOINLEFT JOIN处理任何空值.


vc *_* 74 5

select cataloguenumber, productname,  shipping.carriagecost as carriagecost 
from products, shipping 
where shipping.carriageweight = products.weight
Run Code Online (Sandbox Code Playgroud)

或者我错过了什么?