1

我有这个查询:

select carrier_id, order_id,aircraft_id,quantity 
from orderline 
innerjoin purchaseorder on orderline.order_id = purchaseorder.carrier_id;

我得到了模棱两可的错误,我知道我必须使用别名,但它不起作用,即:

select carrier_id as cID, order_id as OID,aircraft_id,quantity 
from orderline 
innerjoin purchaseorder on orderline.order_id as OID = purchaseorder.carrier_id as cID

它说无效的关系运算符?

谢谢你们的帮助:)

4

2 回答 2

2

你需要一个空间在你的INNER JOIN. 不是INNERJOIN

  select carrier_id, order_id,aircraft_id,quantity 
 from orderline 
 inner join purchaseorder on orderline.order_id = purchaseorder.carrier_id;

此外,正如其他回答者所说,您的列可能定义不明确(每个表中的列名相同),因此您需要在列前加上您的表名 ie( select orderline.orderid)

于 2013-04-17T21:08:51.940 回答
1

问题是,在您完成 之后JOIN,您正在选择一些列。其中一些列可能在两个表上具有相同的名称,您需要指定它是哪一个:

select P.carrier_id, O.order_id, O.aircraft_id, P.quantity --use the right prefix
from orderline AS O
inner join purchaseorder AS P
on O.order_id = P.carrier_id;
于 2013-04-17T21:10:22.643 回答