Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
9-50197
ogo
2003-01-08 11:39
2003.06.16
Dglut


8-50400
Tolea
2003-02-27 17:02
2003.06.16
Помогите нарисовать гладкии график


8-50399
maker
2003-02-02 12:40
2003.06.16
MP3 Декодер


1-50323
Dankin
2003-06-03 12:35
2003.06.16
Drag and drop


14-50488
Gremlin
2003-05-30 11:40
2003.06.16
Про FTP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский