|
|
|
Как получить только первую запись, когда top возвращает несколько?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Вот такая вот задачка. Работаю через ODBC. Во вложенном подзапросе нужно выбрать только одно значение, но этого не получается в тех случаях, когда есть несколько записей с одинаковым datgysl. Код: plaintext a.nkar берется из основного запроса. Вот так все было бы нормально Код: plaintext С уважением. Пантер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2008, 13:26 |
|
||
|
Как получить только первую запись, когда top возвращает несколько?
|
|||
|---|---|---|---|
|
#18+
Может не совсем понятно? Обрисую ситуацию. Есть 2 таблицы: таблица1: номерКарточки площадь таблица2 номерКарточки фамилия дата площадь Задача вывести в модель: 1.номерКарточки, 1.площадь, 2.площадь По первой таблице все нормально, а вот во второй с одним номерКарточки может быть сразу несколько записей, из которых нужна только последняя. Вот мой запрос SELECT 1.номер карточки, 1. площадь, (SELECT top 1 2.площадь FROM таблица2 2 WHERE 2.номерКарточки=1.номерКарточки ORDER BY 2.дата DESC) FROM таблица1 1 С уважением. Пантер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2008, 13:59 |
|
||
|
Как получить только первую запись, когда top возвращает несколько?
|
|||
|---|---|---|---|
|
#18+
panter_dsd...а вот во второй с одним номерКарточки может быть сразу несколько записей, из которых нужна только последняя. А опция DISTINCT не помогает? Или она в подзапросах вашей СУБД запрещена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2008, 14:54 |
|
||
|
Как получить только первую запись, когда top возвращает несколько?
|
|||
|---|---|---|---|
|
#18+
ЮВ panter_dsd...а вот во второй с одним номерКарточки может быть сразу несколько записей, из которых нужна только последняя. А опция DISTINCT не помогает? Или она в подзапросах вашей СУБД запрещена? А куда его впихнуть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2008, 14:56 |
|
||
|
Как получить только первую запись, когда top возвращает несколько?
|
|||
|---|---|---|---|
|
#18+
panter_dsdА куда уго вставить? Вы же не говорите, какая у вас СУБД (с такими вопросами лучше обращаться на субфорумы по конкретным СУБД). Обычно вставляется в начало запроса. (SELECT DISTINCT top 1 2.площадь FROM таблица2 2 WHERE 2.номерКарточки=1.номерКарточки ORDER BY 2.дата DESC) Но, повторяю, некоторые СУБД поддерживают DISTINCT только в основном запросе, а в подзапросах - запрещают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2008, 18:12 |
|
||
|
Как получить только первую запись, когда top возвращает несколько?
|
|||
|---|---|---|---|
|
#18+
ЮВ panter_dsdА куда уго вставить? Вы же не говорите, какая у вас СУБД (с такими вопросами лучше обращаться на субфорумы по конкретным СУБД). Обычно вставляется в начало запроса. (SELECT DISTINCT top 1 2.площадь FROM таблица2 2 WHERE 2.номерКарточки=1.номерКарточки ORDER BY 2.дата DESC) Но, повторяю, некоторые СУБД поддерживают DISTINCT только в основном запросе, а в подзапросах - запрещают. Такую конструкцию не позволяет. Это не БД, а всего лишь 2 dbf III. Тем более DISTINCT не прокатит, так как 2.площадь могут быть разные. Вот пример: номерКарточки 2.дата 2.площадь 00020100 01.01.2001 50 00020100 01.01.2002 50 00020100 01.01.2002 51 Нужно, чтобы вышла только последняя строка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2008, 19:22 |
|
||
|
|

start [/forum/topic.php?fid=56&tid=2015897]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
153ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 263ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...