【发布时间】:2013-08-26 14:28:28
【问题描述】:
如何获取表中除(已被引用的订单和类型为-1的订单)以外的所有订单的列表
订单表:
id | reference_id | type
----------------------------------
1 | | 1
----------------------------------
2 | | 1
----------------------------------
3 | 1 | -1
----------------------------------
类似:
list = ArrayList();
if( order.type > 0 ){
if( order.id != other_order.reference_id )
list.add(order)
}
如何在 MySQL 语句中做到这一点?
这个语句的结果也一样,但是使用了 JOIN....等:
select * from orders as a
where a.type > 0 AND not exists
(select * from orders as b where a.id = b.ref_id)
谢谢
【问题讨论】:
-
你用什么语言访问mysql?爪哇?你试过什么吗?
-
语言不重要,我只需要 SQL 语句(仅查询)
-
为什么订单表似乎引用了自己?
-
re: 也与此语句的结果相同,但使用了 JOIN....等。您还想加入哪张桌子?您在问题中只告诉了我们一张桌子。