Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.16;
Скачать: CL | DM;

Вниз

Запрос на разные даты   Найти похожие ветки 

 
N&N   (2003-05-23 12:13) [0]

Уважаемые мастера, подскажите, пожалуйста, как составить запрос.
Суть такова - есть таблица Table1 с полями ID, Data, Field1, Field2, Field3.
как составить запрос, чтобы выбрать из полей Field1, Field2, Field3 на разные даты?
Что-то наподобие такого
select Field1, Field2, Field3 from Table1
where Field1 = ’01.01.03’ and
Field2 =’01.04.03’ and
Field3 = ’01.05.03’


 
Johnmen ©   (2003-05-23 12:36) [1]

А чем не устраивает "такое" ?


 
Zacho ©   (2003-05-23 12:37) [2]

Не понял, в каком поле все-таки даты содержатся ? И что все-таки в результате получить надо ?


 
dash78 ©   (2003-05-23 12:43) [3]

select Field1, Field2, Field3
from Table1
where data in ( ’01.01.03’,01.04.03’, ’01.05.03’)

если я правильно понял вопрос :)


 
N&N   (2003-05-23 13:25) [4]

To Zacho>Не понял, в каком поле все-таки даты содержатся ? И что все-таки в результате получить надо ?
Даты содержатся в поле Data, а получить надо выборку из полей Field1, Field2, Field3
Может быть так будет понятнее, что я хочу получить:
select Field1, Field2, Field3 from Table1
where Field1 for Data =’01.01.03’ and
Field2 for Data =’01.04.03’ and
Field3 for Data = ’01.05.03’





 
Zacho ©   (2003-05-23 13:29) [5]


> N&N (23.05.03 13:25)
> where Field1 for Data =’01.01.03’ and
> Field2 for Data =’01.04.03’ and
> Field3 for Data = ’01.05.03’

Что это такое ??? Это из какого диалекта SQL и что должно делать ?



 
Johnmen ©   (2003-05-23 13:33) [6]

Короче... Приведи, как выглядит набор данных,который ты хочешь получить !


 
N&N   (2003-05-23 13:39) [7]

To Zacho>Это из какого диалекта SQL и что должно делать ?
Из гипотетического, это я привел пример желаемого запроса, а вообще мне нодо, чтобы запросить и отобразить в DBGrid"e несколько стобцов на начало года (остатки на 01.01.03), а в других столбцах - на переменную дату, которую указывает юзер.



 
balbes   (2003-05-23 13:43) [8]

select field1 from table1 t1
where t1.data=:date1
unoin
select field2 from table1 t2
where t2.data=:date2
union
select field3 from table1 t3
where t3.data=:date3

дальше пошли варианты


 
Zacho ©   (2003-05-23 14:07) [9]

Не, похоже ему нужен не UNION, а JOIN этой таблицы с ней же.
Например, что-то типа этого:
SELECT T.FIELD1,
(SELECT T2.FIELD2 FROM TABLE1 T2 WHERE T2.DATA=:DATA),
...
FROM TABLE1 T
WHERE T1.DATA=..


 
N&N   (2003-05-23 16:05) [10]

>for balbes and for Zacho
Извиняюсь за непроходимую тупость, но оба варианта у меня работают кривовато: в Gride в 1-й колонке все ОК, а в следующих колонках отображаюся одинаковые значения во всех строках сверху до низу, никак не догоню, почему. Вот такой упрощенный запрос по вашей подсказке:
Select SUM(t.field1),
(select SUM(t1.field2) from table1 t1
where t1.data="01.02.03"),
(select SUM(t2.field3) from Table1 t2
where t2.data="01.03.03")
from Table1 t
where t.data="01.01.03" group by field_N


 
Zacho ©   (2003-05-23 17:04) [11]


> N&N (23.05.03 16:05)

Более подробно опиши структуру таблицы.


 
N&N   (2003-05-26 07:59) [12]

>Zacho, упрощенная структура:
ID INTEGER NOT NULL,
Name VARCHAR(20) CHARACTER SET WIN1251 NOT NULL,
DATA TIMESTAMP,
Field1 INTEGER,
Field2 INTEGER,
Field3 INTEGER,
PEREDAN_DEL_SUD INTEGER,
PRIMARY KEY (ID);
Как я уже писал, по составленному запросу выдает в 1-м столбце как надо, а во втором одинаковые во всех строках сверху донизу числа, равные сумме столбца по полю Field2, так же и в 3-м столбце, только отображаются суммы по полю Field3,
в Gride получается примерно такая картинка:

Name ! Field1 ! Field2 ! Field3
--------------------------------
Name1 5 135 124
Name2 7 135 124
Name3 9 135 124
... ... ... ...
NameN 6 135 124



Страницы: 1 вся ветка

Текущий архив: 2003.06.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
3-50255
AGAMEMNUM
2003-05-19 13:39
2003.06.16
Как лучше вставить дату


4-50564
}{enon
2003-04-17 17:32
2003.06.16
Как получить название кнопки?


1-50377
shuba
2003-06-03 10:37
2003.06.16
Word


4-50552
IK
2003-04-15 17:14
2003.06.16
RichEdit


14-50490
avk
2003-05-30 19:09
2003.06.16
не могу открыть исходник