![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL замудренный [D7, Access]
ivanoff © (2008-10-21 17:05:00)
SELECT
T1_Id, T1_F1,
T2_F2,
-->поле из T1 по условию типа
(SELECT LAST(F1) FROM T1 WHERE ...) AS CalcF11
FROM T1, T2
WHERE (T2.F...) AND ( CalcF11- F11) < F22
Вот такWHERE ( CalcF11- T1_F1) < T2_F2нельзя делать, а как можно?
сразу оговорюсь JOIN не получилось прикрутить
ivanoff (2008-10-21 19:32:00) [1]
> нельзя использовать псевдонимы полей
и как не использовать псевдоним в моем случае LAST(F1)
> должно работать
...неа думает что параметр
----- сделал так ----- но не нДравится :) ----- ощущаю тормоза -----
SELECT
T1_Id, T1_F1,
T2_F2,
F11
FROM T1, T2) as temp1
WHERE (...) AND ( (SELECT LAST(F1) FROM T1 WHERE ...)- F11) >=F22
ПыСы. жирным подправил условие, но не принципиально по сути вопроса :)
Виталий (2008-10-21 18:47:00) [2]select *
from
(SELECT
T1_Id, T1_F1,
T2_F2,
F11
-->поле из T1 по условию типа
(SELECT LAST(F1) FROM T1 WHERE ...) AS CalcF11
FROM T1, T2) as temp1
WHERE (...) AND (CalcF11 - F11) < F22
должно работать
Виталий (2008-10-21 18:44:00) [3]
> CalcF11 отказывается понимать
конечно отказывается т.к. нельзя использовать псевдонимы полей в условии отбора...
ivanoff (2008-10-21 18:39:00) [4]в догонку...
> чего вдруг нельзя?
CalcF11отказывается понимать
ivanoff (2008-10-21 18:37:00) [5]делаю
UPDATE (...)
SELECT ...
только появилось "добавлять по условию" что в той самой T1 нету такой записи за последние N часов (из Т2)
Вот тут мне и надо текущей записи (в Т1) найти последнюю запись (в ней-же) с некоторыми условиями для того чтоб определить разницу времени
Виталий (2008-10-21 17:47:00) [6]select from select тебе поможет
ПРавильный$Вася (2008-10-21 17:28:00) [7]
> Вот так WHERE (CalcF11 - T1_F1) < T2_F2 нельзя делать
чего вдруг нельзя?
и что это за поля?
может, структуру таблиц приведешь и принцип выборки?