2017-01-19 4 views
0

Ich versuche, so etwas wie ein Auftragsmanagement-Tool für eine Autowerkstatt zu bauen. Die Hauptfunktion des Tools ist es, Reparaturaufträge und Inspektionsaufträge zu verwalten. Deshalb habe ich diese drei folgenden Tabellen erstellt. In der ersten können Sie die Autos und den Zustand der Reparatur und Inspektion sehen. Die zweite zeigt die Informationen über die einzelnen Reparaturordnungen die Beziehung zwischen dem ersten und das ist 1: n. Der letzte zeigt die automatisch erstellten Prüfaufträge für jedes Fahrzeug aus der ersten Tabelle. Dies ist auch eine 1: n-Beziehung. Also versuche ich, alle offenen Reparatur- und Inspektionsaufträge für die Autos in einer Tabelle anzuzeigen. Aber nur die offenen.Holen Sie sich die letzten Inserts aus mehreren Tabellen

Ich versuchte es mit einigen wo Aussagen, aber ich wurde total verwirrt.

Meine Frage ist, wie kann ich es realisieren?

+------+--------------------------+----------+------------+ 
| 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 | 
+--------+-------------+ 
+0

Diese Frage ist sehr unklar. Es ist schwer zu sagen, wie die Tabellen miteinander verwandt sind. Aber Sie müssen wahrscheinlich nur alle 3 Tabellen mit einer 'WHERE'-Klausel verbinden, um nur auf den offenen Status zu filtern. – Barmar

Antwort

0

Sry dafür!

Also der IDWZ ist der Fremdschlüssel in der zweiten Tabelle (IDWZTBL) und in der dritten (VIWZID).

Ich versuchte es mit

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' ... 

Nur für die erste Tabelle Autos auf die zweiten Reparaturaufträge, dass WHERE staement (WHERE wz_stand = '0' AND rep_wzrepstatus = '0') funktioniert gut.

Aber wenn ich versuche, die dritte Tabelle (VI) das gleiche zu tun, könnte ich das Ergebnis holen, das ich haben möchte.

Was ich in der Übersichtstabelle sehen möchte, ist nur der letzte offene Reparaturauftrag und der letzte offene Prüfauftrag.

Verwandte Themen