2017-01-19 7 views
0

私は車庫用の注文管理ツールのようなものを構築しようとしています。 ツールの主な機能は、修理依頼と検査オーダーを管理することです。 したがって、以下の3つのテーブルを作成しました。 最初の車では、車と修理と検査の状態を見ることができます。 2番目のものは、1つの修理オーダーに関する情報を示しています。最初の修理オーダーと1番目の修理オーダーの関係は1:nです。 最後のものは、最初のテーブルから各自動車の自動作成された検査オーダーを示しています。これは1:nの関係でもあります。 私がしようとしているのは、1台のテーブルに車の修理と点検のすべての注文を表示することです。しかし、開いているものだけ。複数のテーブルから最後のインサートを取得

私はいくつかの文でそれを試しましたが、私は完全に混乱しました。

私の質問は、どうやって実現できるのですか?

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

この質問は非常に不明です。テーブルがお互いにどのように関連しているかを知ることは難しいです。しかし、たぶんあなたは3つのテーブルをすべて結合する必要があります。単にWHERE句を使ってオープン状態にフィルタするだけです。 – Barmar

答えて

0

Sry for that!

したがって、IDWZは2番目のテーブル(IDWZTBL)と3番目のテーブル(VIWZID)の外部KEYです。

私は( '0' WHERE wz_stand = AND rep_wzrepstatus = '0')がWHERE staement、二番目の修理注文にのみ、最初のテーブルの車のために

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

でそれを試してみました正常に動作します。

しかし、私が同じことをしている3番目のテーブル(VI)を追加しようとすると、私は持っていたい結果を取得できます。

概要表に表示するのは、最後に開いた修理指図と最後に開いた検査指図のみです。

関連する問題