![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по вложеным запросам [D5, IB5.x]
Daiz13 © (2002-07-19 12:44:00)Есть таблица следующего содержания
SERNUM TOTALENERGY DAYTIME
========== =========== ===========
13 1501 17-JUL-2002
13 1506 18-JUL-2002
13 1511 19-JUL-2002
14 1389 17-JUL-2002
14 1397 18-JUL-2002
14 1405 19-JUL-2002
15 1441 17-JUL-2002
15 1451 18-JUL-2002
15 1461 19-JUL-2002
16 1460 17-JUL-2002
16 1465 18-JUL-2002
16 1470 19-JUL-2002
Нужно для каждого номера вывести разницу TOTALENERGY за определенный период, приблизительно так:
SERNUM ENERGY
========== ===========
13 24
14 21
15 21
16 21
Делаю такой запрос:
SELECT DISTINCT M.SERNUM ,
(SELECT TOTALENERGY FROM MEASURES WHERE ID=(SELECT MAX(ID) FROM MEASURES WHERE sernum=M.SERNUM AND daytime="20.06.2002") ) AS ENERGY
FROM MEASURES M
WHERE
( M.sernum="13" or M.sernum="14") AND
( M.daytime>="20.06.2002" AND M.daytime
Desdechado (2002-07-22 11:18:00) [1]часть запроса НЕЛЬЗЯ!
а вот строку передать, внутри ХП разобрать ее на запчасти, запхать в переменные и подставить как параметры
Alexandr (2002-07-22 11:14:00) [2]where existsInString(m.sernum,strval)
existsInString это UDF
Daiz13 (2002-07-22 11:03:00) [3]А разве можно в ХП строковым параметром передать часть условия WHERE?
И как потом заставить ХП обработать строку "( M.sernum="13" or M.sernum="14")" как часть sql кода?
Alexandr (2002-07-19 14:53:00) [4]кто сказал никак?
А что табличку нельзя для этого заполнить например...
Или стрингом передать?
Daiz13 (2002-07-19 14:50:00) [5]Проблема в том, что заранее неизвестно условие по которому делаеться выборка (все номера, один номер, десять номеров). Через ХП никак е получиться.
Alexandr (2002-07-19 13:42:00) [6]в IB5 нету.
в Firebird есть.
А если ХП делать будешь, так и передавай ей скока строк результата выдать... В чем проблема?
Daiz13 (2002-07-19 13:28:00) [7]А как указать количество возвращаемых строк, должен же быть какой-то LIMIT или что-то похожее
Alexandr (2002-07-19 13:17:00) [8]ХП решит все проблемы в данном случае...