2 / 2 / 6
Регистрация: 04.05.2012
Сообщений: 62
1

Подскажите как исправить запрос

22.06.2012, 13:47. Показов 649. Ответов 3
Метки нет (Все метки)

Есть две таблицы resursy и zayavki(data, kto, komu,resurs). Необходимо вывести данные всех заявок по определенному kto где у каждого komu максимальная дата.

Создал такой запрос, если у одного komu есть 2 разные даты то они обе попадают под выдачу, хотя у каждого komu должны быть только максимальные даты.
SQL
1
2
3
4
5
6
7
SELECT  * FROM   zayavki 
INNER JOIN resursy ON zayavki.id_resurs = resursy.id_res
WHERE     (zayavki.data IN
                          (SELECT     MAX(DATA) AS 'data'
                            FROM          zayavki 
                            WHERE      kto =10
                            GROUP BY komu))
В данной ситуации у поля komu=10 должны были остаться только значения с датами 2012-16-22
Миниатюры
Подскажите как исправить запрос  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2012, 13:47
Ответы с готовыми решениями:

Запрос не всегда корректно работает. Как исправить?
Есть такие, упрощённо, таблицы: CREATE TABLE dbo.DataTable ( CityId uniqueidentifier NOT...

Подскажите как сделать запрос
Подскажите как сделать пункты 5 и 6. (представлены на скриншоте). В 6 пункте вообще не понимаю...

Подскажите как составить запрос
В таблице два столбца, пусть Столбец1 и Стоблец2, нужно найти максимальное в Столбец2 (это понятно...

Подскажите как переписать запрос
Вот диаграмма базы Вот такая база. Нужно вернуть запрос , который вернет всех работников старше...

3
1090 / 739 / 177
Регистрация: 27.11.2009
Сообщений: 2,198
22.06.2012, 22:11 2
T-SQL
1
2
3
4
SELECT TOP(1) WITH TIES *
FROM zayavki z JOIN resursy r ON z.id_resurs=r.id_res
WHERE z.kto=10
ORDER BY ROW_NUMBER()OVER(PARTITION BY z.komu ORDER BY z.[data] DESC);
0
2 / 2 / 6
Регистрация: 04.05.2012
Сообщений: 62
25.06.2012, 17:35  [ТС] 3
Спасибо! Только сейчас он выдает максимальную дату по каждому komu, а нужно вывести все строки с максимальными для каждого датами.
0
71 / 71 / 22
Регистрация: 02.02.2012
Сообщений: 305
26.06.2012, 11:57 4
Возможно так:
SQL
1
2
3
4
SELECT kto, komu,  MAX (DATA)
FROM zayavki 
WHERE kto = 'заданное значение'
GROUP BY kto, komu
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.06.2012, 11:57
Помогаю со студенческими работами здесь

Как правильно реализовать запрос, подскажите пожалуйста
SELECT Arenda_prodaja_kvartir.Raion, Arenda_prodaja_kvartir.Zhiloi_kompleks,...

Подскажите как сделать запрос в БД
Определить max продолжительность 3-х путевок в заданной стране.

Подскажите как сделать запрос в БД
Подскажите как вывести 3 максимальных числа из столбца DBgrid

Подскажите как исправить
Здравствуйте, подскажите как исправить пожалуйста. //отобаение всех аргументов команднй строки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru