求SQL语句,表A一条数据对表B多条数据, 根据表B的条件筛选出表A
有表Order订单表
ID OrderNo
1 O-0101
2 O-0102
3 O-0103
4 O-0104
表Product 产品表
ID OrderID(Order表外键) ProductName
1 1 苹果
2 1 香蕉
3 1 梨
4 2 菠萝
5 2 榴莲
表Invoice 发票表(一个产品对应一条发票记录)
ID ProduceID(Product表ID) Date(日期) Arrival(是否到货)
1 1 2013-01-01 1
2 1 2013-01-02 1
3 1 2013-01-03 1
4 2 2013-01-04 0
5 2 2013-01-05 1
现在要筛选出Order订单表的数据,根据Invoice 发票表的时间在 2013-01-01-2013-01-05之间并且已经到货(Arrival为1)的Order订单数据, 只要Invoice里面有一条数据不满足条件,Order表的相应数据就被筛选掉!
求写Sql语句
------解决方案--------------------select * from order
where id in(select orderid from product
where id in(select ProduceID from Invoice
where date>='2013-01-01'
and date<='2013-01-05'
&