0

以下のように SQL クエリを実行しており、LEFT JOIN を使用して各プロパティのデータを選択し、主に各プロパティの table1 (「main_table」) からデータを選択し、table2 がそれぞれのデータを保持している場合は、テーブル 2 (「houses」) にもデータを表示しています。財産。

ただし、プロパティごとに結果を 1 つだけ表示したいと考えています。選択しているフィールドの前に DISTINCT でさまざまな結果を試しましたが、うまくいきませんでした。

以下は SQL であり、返されるデータのサンプルも示しています。たとえば、128 Mayfield Road にはテーブル 2 に 2 つのエントリがあるため、2 回返されますが、各家を 1 回だけ表示したいと考えています。

どうもありがとう

SELECT main_table.housenumber, main_table.streetname, main_table.rent, houses.houseID, houses.path, houses.rooms
FROM main_table
LEFT JOIN houses ON main_table.housenumber = houses.housenumber
AND main_table.streetname = houses.streetname

533  Portswood Road   57    NULL    NULL                            NULL
35   Ripstone Gardens 70    NULL    NULL                            NULL
67   Kent Road        68    NULL    NULL                            NULL
21   Bealing Close    65    NULL    NULL                            NULL
75   Broadlands Road  76    NULL    NULL                            NULL
7    Gordon Avenue    70    243     images_housing/GOR1.jpg         4 
29   Broadlands Road  74    NULL    NULL                            NULL 
10   Westbrook Way    65    NULL    NULL                            NULL 
328C Burgess Road     85    NULL    NULL                            NULL
10   Thackeray Road   68    NULL    NULL                            NULL 
128  Mayfield Road    70    311     images_housing/mayfield1.jpg    4 
128  Mayfield Road    67    311     images_housing/mayfield1.jpg    4
4

3 に答える 3

0

もしかしてこんな?

SELECT
    main_table.housenumber,
    main_table.streetname,
    max(main_table.rent)
    houses.houseID,
    houses.path,
    houses.rooms
FROM main_table
LEFT JOIN houses ON main_table.housenumber = houses.housenumber
AND main_table.streetname = houses.streetname
group by
    main_table.housenumber,
    main_table.streetname,
    houses.houseID,
    houses.path,
    houses.rooms
于 2013-10-12T14:06:18.483 に答える