-2

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

表 1: part_master

列:项目,Item_status

表 2: Order_Details

列:项目、订单编号、订单类型

表 3:订单

列: order_num,order_type

这是基数:

part_master <--> order_details (1..1)

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

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

我尝试了这样的事情,但是,它抛出了一个异常:

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

错误说,第二个“选择”语句返回多个不正确的结果..

帮助....!

4

1 回答 1

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)

应该返回你想要的。

于 2013-06-17T17:08:38.013 回答