私は4つのテーブルを持っており、LEFT JOINを使用してテーブルをマージしていますが、すべて正常に機能しています。
これは私が使用しているクエリです
SELECT cont_details.* FROM depot_tracking
LEFT JOIN depot_details
ON depot_tracking.depot_details_id = depot_details.depot_details_id
LEFT JOIN cont_details
ON depot_tracking.cont_details_id = cont_details.cont_no
WHERE depot_details.depot_city = "maa"
AND depot_tracking.status = "0" AND depot_tracking.gate_out =""
そして今、私はこのように出ています!
--------------------------------------------
cont_details_id | gate_in | cont_no
--------------------------------------------
1 | 05-05-2015 | dd
1 | 13-04-2015 | cc
2 | 23-03-2015 | bb
3 | 15-05-2015 | aa
1 | 21-02-2015 | dd
3 | 25-05-2015 | cc
2 | 30-03-2015 | bb
4 | 15-05-2015 | aa
今、私は列に基づいて繰り返される行をフィルタリングしたいと思いdepot_tracking.gate_in
ます。
この画像にはcon_details_id(1)が2回来ていますが、2015年4月19日(最終日)の最大日のみが必要です。残りはフィルターである必要があります。2、3、4、5などすべてと同じです。
問題は、gate_in列を日付形式に変更できないことです。そのため、以前は列をSTRING TO DATEFORMATEに変更していました。以下のクエリを使用します。
(str_to_date(d.gate_in,'%d-%m-%Y'))
だから誰かが私が繰り返される行をフィルタリングするのを手伝ってください(最大の日付行のみを表示します)
期待される出力は現在
--------------------------------------------
cont_details_id | gate_in | cont_no
--------------------------------------------
1 | 05-05-2015 | dd
3 | 25-05-2015 | cc
2 | 30-03-2015 | bb
4 | 15-05-2015 | aa
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加