単一のクエリでこの問題を解決するのに本当に助けが必要です。
私は4つのテーブルを持っています:
[Assets]
[id | serial_number | date_created] (other stuff)
[Parts]
[id | unit_number | date_created] (other stuff)
[Groups]
[id | asset_id | part_id | date_created] (other stuff)
[Activity]
[id | group_id | date_recorded | action_id] (other stuff)
すべてのアセットを選択し、それらの最新のペアリング (グループ) とそのグループ内での最新のアクティビティを見つけるにはどうすればよいですか? 1 つのレコード行。
編集:私が試したこと:
私はそれを行いまし
php
たが、それは非常に醜く、3 つの個別のクエリが必要です。各テーブルからすべての属性を個別の で選択しましたが
SELECT
、これは恐ろしい方法だと思いますSELECT *, ( SELECT part_id FROM groups ORDER BY date_created DESC LIMIT 1 ) AS part_id FROM assets
ネストされた選択を行うだけpart_id
ですが、9つの属性が必要な場合は、9つのネストされた選択が必要ですが、これは悪い方法ですか?