Войти

Показать полную графическую версию : SQL запрос


pauluss
09-06-2004, 15:19
Пардон за ламеризм. Задача:
Есть таблица, в ней два поля: DATATIME и TEXT(n). Как построить запрос, результатом которого будет список уникальных значений текстового поля за определеный период(то есть такие же значения, какие были в более раннем периоде в результат не выводяться).
P.S. (Боюсь, что обьяснил непонятно) Надо что-то типа этого: (но этот запрос не работает)
SELECT txt, dat
FROM `table`
WHERE (dat < '2005-01-01' )
AND (dat >= '2004-01-01')
AND (txt NOT IN (SELECT txt,date
FROM `table`
WHERE dat<'2004-01-01'))
P.P.S. Всё это безобразие будет пытаться работать из PHP.

mar
09-06-2004, 17:49
pauluss
СУБД какая? mysql не умеет работать со вложенными запросами :( (не знаю, как последние версии)
А в postgese они работают

Vlad Drakula
09-06-2004, 21:24
pauluss

так:

SELECT txt, dat
FROM table
WHERE (dat < '2005-01-01' )
AND (dat >= '2004-01-01')
GROUP BY  txt

Vlad Drakula
09-06-2004, 21:34
pauluss
я в другом такомже топике написал решение твоего вопроса!

pauluss
зачем было создавать сразе несколько идентичных тем???

/fixed

Исправлено: Prisoner, 1:55 10-06-2004

vadimiron
09-06-2004, 23:04
Vlad Drakula

Так вроде надо было, чтобы такие txt, которые и в более ранних периодах встречаются, отсекались.
Например: у нас есть txt с содержанием "ля-ля-ля" с полем dat 2004-05-20, а также у нас есть txt с тем же содержанием  "ля-ля-ля" но числа 2003-04-21, и вот эта строка должна игнорироватся, а в твоём запросе она всё равно будет фигурировать, так как  "ля-ля-ля" встречается также в период с 2004-01-01 по 2005-01-01

pauluss
11-06-2004, 09:14
Vlad Drakula
Форум почему-то при создании топика и ответе на пост пароль мой не принимает, пытался создать тему два раза, на оба руался ошибкой, я даже не знавл, что они создались.
Ты не мог бы повторить ответ, видимо второй топик убили, а я не прочитал что там было.




© OSzone.net 2001-2012