|
|
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
Вообщем пытаюсь сделать запрос на выборку по определенному ид, например Все табл соединены, вот просто выборка на вывод всех записей, надо выводит записи у которых например sale.KOD_SOTR=1 авторselect sale.DATA, sale.ETAP,sale.KOD_SOTR,sotr.FIO_SOTR, sale.ID_SALE, sale.KOD_CLIENT, sale.PROD, sale.PROD2, sale.SUMM, sale.VIDPROD, sale.VIDPROD2,client.fio,OFFICE.NAME_OFF from sale,client,sotr,OFFICE where sale.KOD_CLIENT=client.ID_CLIENT and sale.KOD_SOTR=sotr.ID_SOTR and sotr.KOD_OFF=OFFICE.ID_OFF Как сформировать правильно запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 09:31:20 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
and sale.KOD_SOTR=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 09:42:33 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
Tactical Nuclear Penguin, гдето у меня ошибка но не могу найти. авторconst saleSelectSQLText= 'select sale.DATA, sale.ETAP,sale.KOD_SOTR,sotr.FIO_SOTR, sale.ID_SALE, sale.KOD_CLIENT, sale.PROD, sale.PROD2, sale.SUMM,'+ 'sale.VIDPROD, sale.VIDPROD2,client.fio,OFFICE.NAME_OFF from sale,client,sotr,OFFICE'+ 'where sale.KOD_CLIENT=client.ID_CLIENT and sale.KOD_SOTR=sotr.ID_SOTR and sotr.KOD_OFF=OFFICE.ID_OFF '; {'select sale.DATA, sale.ETAP,sale.KOD_SOTR,sotr.FIO_SOTR, sale.ID_SALE, sale.KOD_CLIENT,'+ 'sale.PROD, sale.PROD2, sale.SUMM, sale.VIDPROD, sale.VIDPROD2,client.fio,OFFICE.NAME_OFF'+ 'from sale,client,sotr,OFFICE'+ 'where sale.KOD_CLIENT=client.ID_CLIENT and sale.KOD_SOTR=sotr.ID_SOTR and sotr.KOD_OFF=OFFICE.ID_OFF'; } var saleOrderbyFieldName: string = ''; function Tform2.saleSQL(SortField: string): string; begin Result := saleSelectSQLText; if prava=0 then Result := Result + ' and sale.KOD_SOTR=1'; //+ IntTostr(cursotrid); if saleOrderbyFieldName = '' then begin Result := Result + ' order by ' + SortField; saleOrderbyFieldName := SortField; //запомним текущее состяние сортировки end else if Pos('desc', saleOrderbyFieldName)=0 then begin Result := Result + ' order by ' + SortField + ' desc'; saleOrderbyFieldName := SortField + ' desc'; end else saleOrderbyFieldName := ''; end; Если в ib апрос делать то все выводиться нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 10:04:26 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
aydar1992гдето у меня ошибка но не могу найти. ошибка? какая-такая ошибка? aydar1992Если в ib апрос делать то все выводиться нормально. значит у тебя при склеивании запроса в программе получается кривой запрос. Читай сообщение об ошибке внимательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 11:10:12 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
kdv, sql error code=-104 token unknown - line 1, column 216 '. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 11:13:19 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
aydar1992, то есть, ты перед выполнением запроса в программе не можешь в отладчике посмотреть, что получилось в результате склеивания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 11:39:39 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
aydar1992, найди место, где делаешь открытие датасета/квери и через ShowMessage() выведи то, что склеил в текст запроса. Обычно потерянные разделители или кавычки очень хорошо видно. Не разберешься - давай сюда звпрос. Но только не надо постить дельфовый код - это никому не интересно как ты склеиваешь , важно что ты получаешь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 11:51:38 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
2 автор 'select sale.DATA, sale.ETAP,sale.KOD_SOTR,sotr.FIO_SOTR, sale.ID_SALE, sale.KOD_CLIENT, sale.PROD, sale.PROD2, sale.SUMM, '+ 'sale.VIDPROD, sale.VIDPROD2,client.fio,OFFICE.NAME_OFF from sale,client,sotr,OFFICE '+ перед закривающей кавычкой поставь пробел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 11:58:04 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
arni, вот что склеил авторselect sale.DATA, sale.ETAP,sale.KOD_SOTR,sotr.FIO_SOTR, sale.ID_SALE, sale.KOD_CLIENT, sale.PROD, sale.PROD2, sale.SUMM,sale.VIDPROD, sale.VIDPROD2,client.fio,OFFICE.NAME_OFF from sale,client,sotr,OFFICE where sale.KOD_CLIENT=client.ID_CLIENT and sale.KOD_SOTR=sotr.ID_SOTR and sotr.KOD_OFF=OFFICE.ID_OFF and sale.KOD_SOTR=1 order by ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 12:42:46 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
ошибка здесь Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 12:45:58 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
arni, лишние order by, но он нужно при сортировки. например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 12:48:52 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
aydar1992, ты скомандовал "отсортируй", но не сказал по какому полю. Чтобы ты сделал на месте сервера, если увидел такую незаконченную команду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 12:53:22 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
arni, arni, наконецто сделал, if SortField='' then Exit; забыл в склейки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2012, 13:16:41 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
Ребята, помогите, пожалуйста! Совершенно не знаю как сделать следующее в запросе. В таблице столбец формата timestamp... Нужно в запросе отобрать записи только по году.. Как преобразовать timestamp в год??? Желательно в формате четырёх цифр = "2012" Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 21:08:58 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
sorockinalexКак преобразовать timestamp в год??? RTFM EXTRACT() Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 21:23:45 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
EXTRACT(YEAR FROM Дата) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 21:24:16 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
случайно наткнулся в просторах интернета не решение Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 21:25:58 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
На фотофинише DS обошел всех. Опыт не пропьешь даже «в ночь с 31 на 11» ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2013, 22:16:02 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
спасибо! всем спасибо, сразу не увидел! вот ещё вопросик. почему-то при попытке использовать GROUP BY выдаёт ошибку: not contained in either an aggregate function or the GROUP BY... дело в том, что может быть много записей номера изделия, но с разными датами (вдруг номер изменили после переконсервации через несколько лет). и это у каждого выпускаемого оборудования! получается Оборудование Номер Дата 1 1 12.12.2012 1 2 13.01.2013 2 1 12.12.2012 3 1 12.12.2012 А нужно в результате выполнения запроса с группировать по идентификатору оборудования, при этом выбрать номер по самой последней дате для данного оборудования, то есть нужно получить: Оборудование Номер Дата 1 2 13.01.2013 2 1 12.12.2012 3 1 12.12.2012 То есть мы получили список выпущенного оборудования с актуальными номерами. В коде ниже я уже отфильтровываю по конкретному идентификатору одно оборудование... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. И вот отказывается GROUP BY работать, не пойму в чём дело... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2013, 12:53:17 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
В GROUP BY должны входить все поля из SELECT у которых нет агрегирующих функций, т.е. GROUP BY 1, 2, 3, 4, 5, 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2013, 13:53:52 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
не может сгруппировать - значение параметра "номер изделия" (equipmentpars.equipmentparvalue) для одного и того же изделия может отличаться!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2013, 14:27:46 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
sorockinalexзначение параметра "номер изделия" (equipmentpars.equipmentparvalue) для одного и того же изделия может отличаться!!!! Ну так тут уж реши какой именно из 100500 "номеров изделия" ты хочешь для данного изделия видеть. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2013, 14:30:14 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
Вот схема данных и результат запроса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2013, 14:31:24 |
|
||
|
Запрос на выод записей.
|
|||
|---|---|---|---|
|
#18+
Хочу тот, который от последней даты... Второй в картинке выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2013, 14:32:39 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38100311&tid=1564017]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
301ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
85ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 635ms |

| 0 / 0 |
