Рассмотрим у меня есть две таблицы tab1
и tab2
:PostgreSql - ВЫБРАТЬ Макс повторяется из другой таблицы
+-----------+-----------+
| ID_t1 | col2 |
+-----------+-----------+
| 1 | 1 |
+-----------+-----------+
| 2 | 1 |
+-----------+-----------+
И TAB2:
+-----------+-----------+
| ID_t2 | ID_t1 |
+-----------+-----------+
| 1 | 1 |
+-----------+-----------+
| 2 | 1 |
+-----------+-----------+
| 3 | 1 |
+-----------+-----------+
| 4 | 2 |
+-----------+-----------+
Я пытаюсь найти объект, который имеют те tab1.col1 = 1
и максимальная строка в таблице tab2, поэтому результат должен быть похож на объект 1
+-----------+-----------+
| ID_t1 | col2 |
+-----------+-----------+
| 1 | 1 |
+-----------+-----------+
Я стараюсь это:
SELECT ID_t1 FROM tab1
WHERE tab1.col2 = 1 and
ID_t1 = (SELECT ID_t1 FROM tab2 WHERE -- MAX ONE REPEATED IN THIS TABLE)
Я действительно складывают, как я могу конкурировать этот запрос, вы можете помочь мне, пожалуйста.
Вы используете MySQL, Oracle или Postgresql? Не помещайте те продукты, которые не задействованы. – jarlh
Я использую Postgresql @jarlh –
Какова максимальная строка в таблице 'tab2'?? Я не вижу столбца под названием 'line'. Таблицы SQL представляют собой * неупорядоченные * наборы; нет никакого максимума, если не указано задание. –