首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对挂起的` `Purchase‘的MYSQL查询

对挂起的` `Purchase‘的MYSQL查询
EN

Stack Overflow用户
提问于 2015-08-28 05:07:33
回答 2查看 933关注 0票数 0

如何查询数据库以获得挂起po列表。

我有四个表purchase_order和这个字段

代码语言:javascript
复制
`po_id` // primary key
`supplier_id`
'date`
`status`
'description`

`po_detail` with this fields
`pod_id` // primary key
`po_id`
`product_id`
`rate`
`qty`

`grn` with this fields
`grn_id` // primary key
`date`
`description`
`supplier_id`

`grn_detail` with this fields
`grnd_id` // primary key
`grn_id`
`rate`
`qty`
`product_id`
`po_id`

现在我要从po_detail中选择所有没有输入到grn_detail中的产品,po_id或输入到grn_detail中,但是grn_detail.qty< po_detail.qty,具有相同的po_id,您可以写这个查询。如果有,请用sqlfiddle写演示。

请看一下SQLFIDDLE

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-17 05:12:11

第一个答案很好,但我认为运算符可能没有什么变化。类似于>=

见演示

代码语言:javascript
复制
SELECT * FROM `po_detail`
WHERE
  `po_detail`.`po_id` NOT IN
    (SELECT `grn_detail`.`po_id` FROM `grn_detail`
     WHERE (`grn_detail`.`po_id` <> `po_detail`.`po_id`) OR
       (`grn_detail`.`qty` >= `po_detail`.`qty`))
AND your_other_filter_if_you_want_to
票数 1
EN

Stack Overflow用户

发布于 2015-08-28 06:17:33

试试这个:

代码语言:javascript
复制
SELECT * FROM `po_detail`
WHERE
  `po_detail`.`po_id` NOT IN
    (SELECT `grn_detail`.`po_id` FROM `grn_detail`
     WHERE (`grn_detail`.`po_id` <> `po_detail`.`po_id`) OR
           (`grn_detail`.`qty` > `po_detail`.`qty`))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32263678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档