mysql—当一列可以为空时,如何从同一个表中获取基于两列的记录计数

t5fffqht  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(167)

我有两张table:计划和产品
计划表有“文档id”和“产品id”列。这两个列都是可为空的列。也就是说,计划可以包含文档或产品,也可以同时包含两者。
我必须根据给定的产品ID来计算计划数。我还需要考虑产品表中产品的文档,同时获取计划的计数。我应该如何编写这样的查询?谢谢。
以下是表的示例视图:

DOCUMENT table
+------------+-
|Document_Id |
+------------+
|          1 |         
|          2 |           
|          3 |                    
+------------+

PRODUCT table
+------------+-------------+
| Product_Id | Document_Id |
+------------+-------------+
|          1 |           1 |
|          2 |           2 |
|          3 |           1 |
|          4 |           2 |
|          5 |           3 |
+------------+-------------+

PLAN table
+---------+------------+-------------+
| Plan_Id | Product_Id | Document_Id |
+---------+------------+-------------+
|       1 | 1          | 2           |
|       2 | NULL       | 3           |
|       3 | 3          | NULL        |
|       4 | NULL       | 1           |
|       5 | 5          | 2           |
+---------+------------+-------------+

注意:在计划表中,产品标识和单据标识不能同时为空。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题