在三个表上执行连接

时间:2013-06-14 19:58:51

标签: sql jointable

我想在三个表上执行连接。

表1: part_master

列:项目,Item_status

表2: Order_Details

列:项目,order_num,order_type

表3:订单

列: order_num,order_type

以下是基数:

part_master< - > order_details(1..1)

订单< - > order_details(1..n)

我想在订单表上执行搜索,从part_master检索item_status。换句话说,我想看一个订单的item_status,使用order_num作为搜索条件。

我尝试这样的事情,然而,它会引发异常:

从part_master中选择part_master.item_status,其中item =(从order_details选择项目,其中order_details.order_num = order.order_num)

错误说,第二个'select'语句返回多个不正确的结果。

帮助....!

1 个答案:

答案 0 :(得分:0)

如果订单包含多个订单明细行,则内部选择

select item from order_details where order_details.order_num = order.order_num

将返回多行。试试吧,看看。

将您的查询更改为

select part_master.item, part_master.item_status from part_master where item in 
    (select item from order_details 
     where order_details.order_num = order.order_num)

应该返回你想要的东西。