Как выбрать последние строки, каждая из которых содержит одно значение из всех возможных значений, найденных в доменной таблице? - PullRequest
2 голосов
/ 12 апреля 2011
ID Username City        RegisterYear
1  User1    New York    1990
2  User2    San Diego   2008
3  User3    Chicago     2009
4  User4    Los Angeles 1994
5  User5    San Diego   2004 

Доменная таблица

ID  City
1   New York
2   San Diego
3   Los Angeles
4   Chicago

В этом примере запрос вернет:

User1
User2
User3
user4

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

Ну, для начала вам нужно заменить «Город» в первой таблице на столбец ID таблицы домена.«Город» не является первичным ключом.

После этого:

SELECT u.username
FROM   users u,
       domain d
WHERE  d.id = u.cityid
       AND u.registeryear = (SELECT MAX(u2.registeryear)
                             FROM   users u2
                             WHERE  u2.cityid = u.cityid);
0 голосов
/ 12 апреля 2011

Поскольку этот вопрос не дает очень много деталей, я использовал некоторые предположения, что syrion made plus также решил, что название города будет уникальным, чтобы упростить задачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...