2010-06-30 79 views
0

我的情况是,我有一对多的关系,比如订单和订单细节,我需要获得具有单一订单细节的订单。从一对多关系中获得一对一的结果

+0

你可以发布你的数据和你想要的结果的例子吗?还有表结构呢?人们无法猜测你的具体情况是什么。如果您添加了您正在使用的数据库系统,它也将有所帮助,因为语法可能略有不同,具体取决于它是哪一个。 – Oded 2010-06-30 07:18:00

+0

我使用ms sql,我的表格结构非常复杂,我找到了pm_2很好的答案 – Ahmed 2010-06-30 09:12:52

回答

0

如何:

select * 
from order 
where order_number in 
    (select order_number 
    from order_details 
    group by order_number 
    having count(*) = 1) 
+0

谢谢pm_2这个很好用 – Ahmed 2010-06-30 09:11:43

0
SELECT O1.order_number 
    FROM Orders AS O1 
WHERE 1 = (
      SELECT COUNT(*) 
       FROM OrderDetails AS D1 
      WHERE O1.order_number = D1.order_number 
      );