我正在尝试构建一个类似于汽车修理厂的订单管理工具。该工具的主要功能是管理维修单和检验单,因此我创建了以下三个表。在第一张图中,您可以看到汽车以及维修和检查的状态。第二个表显示了单个维修单的信息,第一个维修单与第一个维修单之间的关系是1:n。最后一个表显示了第一个表中为每辆汽车自动创建的检验单。这也是一个1:n的关系。因此,我尝试做的是在一个表中显示汽车的所有未完成的维修和检查订单。但只有那些开放的。
我尝试了一些where语句,但我完全搞混了。
我的问题是,我如何实现它?
+------+--------------------------+----------+------------+
| IDWZ | wz_name | wz_stand | wz_vistand |
+------+--------------------------+----------+------------+
| 1 | Querbr?cke vorn | 0 | 0 |
| 2 | Front Lateral Support | 0 | 1 |
| 3 | Rear Support | 1 | 1 |
| 4 | MID-X-Member Upper Shell | 1 | 1 |
| 5 | Front Lateral Support | 1 | 1 |
+------+--------------------------+----------+------------+
+---------+-----------------+--------------+
| IDWZTBL | rep_wzrepstatus | rep_wzfehler |
+---------+-----------------+--------------+
| 2 | 1 | REP 1 |
| 1 | 1 | REp2 |
| 1 | 1 | REp 3 MASS |
| 1 | 0 | 444 |
| 2 | 0 | |
+---------+-----------------+--------------+
+--------+-------------+
| VIWZID | vi_repstand |
+--------+-------------+
| 1 | 0 |
+--------+-------------+
发布于 2017-01-20 05:08:10
这就是Sry!
因此,IDWZ是第二个表(IDWZTBL)和第三个表(VIWZID)中的外键。
我试过了
SELECT wz_name, wz_stand, wz_vistand, rep_wzrepstatus, vi_repstand FROM tbl_wz LEFT JOIN tbl_orders ON tbl_wz.IDWZ = tbl_orders.IDWZTBL LEFT JOIN tbl_vi ON tbl_wz.IDWZ = tbl_vi.VIWZID WHERE wz_stand='0' AND rep_wzrepstatus='0' ...
只针对第一个表cars到第二个表cars的维修单,其中staement (其中wz_stand='0‘和rep_wzrepstatus='0')工作正常。
但是如果我尝试添加第三个表(VI),做同样的事情,我可以得到我想要的结果。
我希望在概览表中看到的只是最后一个打开的维修单和最后一个打开的检验单。
https://stackoverflow.com/questions/41751448
复制相似问题