MYSQL 查询待处理 `Purchase Order`

标签 mysql database

如何查询数据库以获得待处理的 PO 列表。

我有四个带有此字段的表purchase_order

`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 中选择所有产品,这些产品未使用该 po_id 输入到 grn_detail 中,或者输入到 grn_detail 中,但 grn_detail.qty 是具有相同 po_id 的 < po_detail.qty 您可以写下查询吗? 如果可能,请在sqlfiddle中编写演示

请查看SQLFIDDLE

最佳答案

第一个答案很好,但我认为运营商可能会有一些变化。 类似的东西>=

SEE DEMO

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

关于MYSQL 查询待处理 `Purchase Order`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32263678/

相关文章:

MySQL 查询计数来自树状结构的键

java - 为什么文本字段总是返回 null?

python - 在添加新数据之前删除上个月

mysql - GWT - 显示的时间比数据库中存储的时间晚 1 小时

php - 在逗号分隔列表中搜索字符串

mysql - 在跨两列重复的 MySql 删除上使用 LIMIT

mysql - MySQL 中的批量 CSV 文件导入从 CSV 导入动态列时删除重复项

php - 用html表单替换Htaccess弹出框?

mysql - 如何在 Joomla 1.5 中创建 SQL 事务?

java - 何时使用 JCR(内容存储库)而不是其他选项?