![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL Запрос
vitnt2000 © (2002-03-20 07:05:00)У меня есть таблица типа:
№параметра Значение Дата
1 1111 01.01
2 2222 01.01
1 3333 02.01
2 4444 02.01
Подскажите, пожалуйста как написать SQL запрос чтобы получить таблицу вида:
Дата Параметр№1 Параметр№2
01.01 1111 2222
02.01 3333 4444
vitnt2000 (2002-03-21 08:16:00) [1]Например если три:
SELECT Q1.DATE Дата,
Q1.VAL Параметр1,
Q2.VAL Параметр2,
Q3.VAL Параметр3
FROM "E:\\qdgntmk.dbf" Q1
INNER JOIN "E:\\qdgntmk.dbf" Q2
ON (Q1.DATE = Q2.DATE)
INNER JOIN "E:\\qdgntmk.dbf" Q3
ON (Q1.DATVV = Q3.DATVV)
WHERE (Q1.PAR = 1) AND (Q2.PAR = 2) AND (Q3.PAR = 3)
А если произволное число, то Запрос можно создавать в цикле...
fnatali (2002-03-21 08:00:00) [2]А если количество параметров не определено? :)
Или их всё время только два?
vitnt2000 (2002-03-21 07:56:00) [3]А получилось примерно так:
SELECT Q1.DATE Дата, Q1.VAL Параметр1, Q2.VAL Параметр1
FROM "E:\\qdgntmk.dbf" Q1
INNER JOIN "E:\\qdgntmk.dbf" Q2
ON (Q1.DATE = Q2.DATE)
WHERE (Q1.PAR = 1) AND (Q2.PAR = 2)
Где Q1,Q2 виртуальные таблицы
Date - поле даты
Par - поле № параметра
VAl - значение
kva (2002-03-20 15:06:00) [4]To vitnt200
Ежели получилось, то покажи как! А то ведь в другой раз и смотреть вопросы не будет никто!
С уважением, КВА
vitnt2000 (2002-03-20 14:04:00) [5]Всем спасибо! Получилось!
Кузнецов (2002-03-20 13:29:00) [6]2vitnt2000 sorry
vitnt2000 (2002-03-20 11:22:00) [7]>>Кузнецов
Мне нужно не сложить данные за дату, а распложить каждый параметр в отдельном поле.
Кузнецов (2002-03-20 09:49:00) [8]Это у меня работает с *.DBF файлами
SELECT Dh410.SP909, SUM( Dh410.SP428 - Dh410.SP3655 ) as Sum_
FROM "DH410.DBF" Dh410
WHERE Dh410.SP909 BETWEEN :p1 AND :p2
GROUP BY Dh410.SP909
ORDER BY Dh410.SP909
Где поле SP909- дата
Где поле SP428- числовое значение, т.ё запрос групирует данные по дате и складывает числовые значения относящиеся к данной дате.
p1 -начало временнного интервала
p2 -его конец
DiggerAbstract (2002-03-20 09:24:00) [9]select
t1.date,
t1.par,
t2.par
from
table as t1
inner join table as t2 on t1.date=t2.date
fnatali (2002-03-20 08:10:00) [10]попробуй использовать DecisionCube