|
|
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Помогите пожалуйста с запросом. Суть следующая: Есть таблица в которой 2 поля: int id и date sdate. Нужно, чтобы в результате встречались все возможные значение поля id по одной строке для каждого значения, причем в выбраных строках должна быть максимальное значение поля sdate. Т.Е. так: Исходная таблица: id date 1 01.01.05 2 01.01.04 1 02.02.05 2. 01.01.03 результат: 1 02.02.05 2 01.01.04 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 14:37 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 15:18 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
Спасибо. Только SELECT DISTINCT num,id, MAX(sdate) as start from pm GROUP BY ID Так работает, только теперь другая проблема, при попытке изменить запись, выдается исключение с сообщением "недостаточно сведений" ключевого поля для обновления". ключевое поле num. Компонента ADOQuery. Можно как - нить заставить работать его или нужно будет составлять запос для изменение самому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 15:46 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
авторМожно как - нить заставить работать его или нужно будет составлять запос для изменение самому? При group by и adoquery скорее всего отдельным запросом обновлять придется, делфи под руками нет, не помню есть ли там аналог tupdatesql для bde, у меня просто не возникало таких надобностей. Я так понимаю хочется в сетке редактировать результат запроса? Только не совсем понятно, что там редактировать - там же только дата и ид? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 16:20 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
_Shaman Есть таблица в которой 2 поля: int id и date sdate. Ты пишешь: _Shaman SELECT DISTINCT num,id, MAX(sdate) as start from pm GROUP BY ID Так все-таки в таблице не 2 поля, а уже как минимум три (+num)... А какая же она на самом деле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 16:22 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
Очень хочется :) Вообще там больше данных я просто не стал усложнять вопрос перечислением всего... А "group by " к сожалению убрать не получается - без него не работает запрос. Ругается, что групповые операции не используются без него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 16:26 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
таблица такая num int not null auti_increment, gr char(100), id tinyint, start date, prymary key(num)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 16:28 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
авторОчень хочется :) Вообще там больше данных я просто не стал усложнять вопрос перечислением всего... А "group by " к сожалению убрать не получается - без него не работает запрос. Ругается, что групповые операции не используются без него. если это комментарий на мой твет я не к тому чтобы group by убирать, просто есть компоненты у которых для обновления используется свойство updateSQL в котором хранится запрс с update'ом. Как это делают в адо-компонентах я щас не вспомню :(. Так что я думаю что лучше забросить этот вопрос в форум по делфи, там хоть ткнут в нужную сторону. А если первичный ключ num, тогда я вообще запутался с тем что тебе нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 16:35 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
В ADO вроде нет ничего похожего на UpdateSQL - ADO сам запросы генерит. Но, последую совету, крикну на форум Delphy, может помогут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 16:43 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
в принципе как один из вариантов могу предложить: по клику на строке сетки вызывать форму с текущей записью тока уже в виде edit'oв и пр. далее по Ок вызывать query с update'ом напр "update date = '01.01.01' where id = :id" и в таком духе - по-моему это будет быстрее сделать чем возится с редактированием select с группировкой в сетке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 16:54 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
Я уже думал от таком варианте, но желательно чтобы весь интерфейс программы был сделан в едином стиле, а такой способ туда вообще никак не вписывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 16:57 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
тогда пробуй на beforepost или afterpost повесить этот update. но это не грамотно вроде бы. кстати ж это нередактируемый запрос его апдейтить тяжело, объяснил бы зачем тебе это нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 17:07 |
|
||
|
Пожалуйста,помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
авторкстати ж это нередактируемый запрос его апдейтить тяжело, объяснил бы зачем тебе это нужно Зачем долго объяснять и к делу это отношения не имеет... Решил редактировать вручную, другого способа вроде нет. Всем спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2005, 10:10 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33062897&tid=1854057]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 482ms |

| 0 / 0 |
