这可能是一件非常简单的事情,但目前我无法弄清楚。SQL连接排除结果
表顺序
+----+---------+
| id | name |
+----+---------+
| 1 | Order 1 |
| 2 | Order 2 |
| 3 | Order 3 |
+----+---------+
表Facturationdetails
+----+----------------+
| id | name |
+----+----------------+
| 1 | Transportation |
| 2 | Regular |
| 3 | Fixed |
+----+----------------+
表关系:
表Facturationdetails
+----------+---------+
| order_id | fact_id |
+----------+---------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 2 |
| 2 | 3 |
| 3 | 2 |
+----------+---------+
现在我想找出该命令没有fakturationdetails1(运输)
select to.order_id
from table_order to
join table_facturation tf
on tf.order_id = to.order_id
where tf.fakt_id != 1
但是,这将返回所有行:
+---+---+
| 1 | 2 |
| 1 | 3 |
| 2 | 2 |
| 2 | 3 |
| 3 | 2 |
+---+---+
而且我想要的结果是:
订购2和Order 3.
就像一个魅力! – seezung