私は希望の出力を得るために一緒にリンクする必要がある複数のテーブルを含むデータセットを持っています。内部結合してグループの最後の行を取得するために結合する
表1 - house_house
house_id | Name | address | zipcode
表2 - house_price
ID | house_id | price | status_id
表3 - 表2にhouse_status
ID | name
、huis_idあたり複数のエントリのいずれかを含む、あります価格および/またはステータスの変更。私が現在構築しようとしているクエリでは、最小/最大のprijと最新の既知のステータスを取得したい。
私は常にテーブル1を使用して、すべてのロケーションの完全な概要を把握し、このテーブルへの左ジョインを介して他のテーブルを結合しようとします。
ステータスについては、内部結合で構成したサブクエリが必要です。私が挑戦しているのは、私が価格表でインナージョイントを実行したときにうまく機能するが、価格と左ジョイントした後でそれをハウステーブルに組み合わせると、私はそれを機能させるのに苦労している。現在は不可能なテーブルを一緒にリンクしようとしています。
私が自分の考えを持ってレンガの壁に当たったので、どのようにこの仕事をするのが歓迎です。
問合せ:
SELECT
h.address, h.zipcode, p.huis_id, p.status
FROM
house_house h
INNER JOIN
(SELECT
house_id, status, max(id) as id
FROM
house_price
GROUP BY
house_id) p1
ON
p.house_id = p1.house_id AND
p.id = p1.id
LEFT JOIN
house_price p ON p.house_id = h.house_id
GROUP BY
p.house_id
家の名前を他の種類の名前と区別できるようにするためのいくつかの仕組みを含めることができます。 – Strawberry
クエリは完全に実行されますが、重複する行が返されます。 @Strawberryは、行を区別するためのメカニズムでクエリを更新するのに良い点があります。 – Ralf
@Ralf私のポイントは、行ではなく列に関連しています。 – Strawberry