Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли получить соединение наборов данных двух TQuery? [D5, IB5.x, Paradox]


Страницы:   1 2 3 4

wHammer ©   (2002-12-26 14:02:00) 

Именно, не реальных таблиц, и не просмотров (VIEW), а то что отобрал Select в TQuery.

С наилучшими...
Александр.


passm   (2002-12-26 17:43:00) [21]

passm © (26.12.02 17:30)> Поменьше спеси, plz. Дерзните, посмотрим на ваше рукоделие...


Lady D   (2002-12-26 17:42:00) [22]

2passm © (26.12.02 17:30)>
Это, видимо, в соответствии с "потребностями автора вопроса" Вы ему советовали TRxQuery для работы с MySQL?
http://delphi.mastak.ru/cgi-bin/forum.pl?n=1&look=1&id=1040888468&from=41


Lady D   (2002-12-26 17:35:00) [23]

2passm © (26.12.02 17:30)>
Послушайте, товарищ учитель, Ваш бред вполне можно переписать с использованием JOIN


passm   (2002-12-26 17:30:00) [24]

Lady D © (26.12.02 17:16)> Не к истине, а к потребностям автора вопроса :)


Lady D   (2002-12-26 17:16:00) [25]

Извиняюсь, что мешаю вам "соединяться", но может это будет ближе к истине?

SELECT CAST(idfilial as..),
CAST(dateotgr as..) d,
CAST(nameizd as..),
CAST( SUM(Kol) as..) OSTATOK
FROMplanprodajfilial
WHERE(idfilial = :ffilial1) AND(dateotgr = :fdate1)
GROUP BYidfilial, dateotgr, nameizd
UNION ALL
SELECT CAST(idfilial as..),
CAST(dater as..) d,
CAST(nameizd as..),
CAST(ostatok ..)
FROMostatkifilialf
WHERE(idfilial = :ffilial2) AND(dater = :fdate2)


passm   (2002-12-26 16:38:00) [26]

wHammer © (26.12.02 16:13)> Попробуй:
select IDFilial, DateOtgr, NameIzd, sum(Kol) as Summa,
(select Ostatok
from OstatkiFilialF as q2
where (IDFilial = :fFilial) and (DateR = :fDate)
and q1.IDFilial = q2.IDFilial
and q1.DateOtgr = q2.DateOtgr
and q1.NameIzd = q2.NameIzd) as Ostatok
from PlanProdajFilial as q1
where (IDFilial = :fFilial) and (DateOtgr = :fDate)
group by IDFilial, DateOtgr, NameIzd


wHammer   (2002-12-26 16:13:00) [27]

Да, неучел, сорри...

Будет что-то вроде -

select IDFilial, DateR, NameIzd, Ostatok from OstatkiFilialF
where (IDFilial = :fFilial) and (DateR = :fDate)


passm   (2002-12-26 16:10:00) [28]

wHammer © (26.12.02 16:01)> Во втором запросе конкретизируй заголовок (замени * на перечень столбцов). Тогда будет понятней.
Lady D © (26.12.02 16:04)> Глупо.


Reindeer Moss Eater   (2002-12-26 16:04:00) [29]

Ветку надо закрыть, ибо условие вопроса изменилось кардинальным образом


Lady D   (2002-12-26 16:04:00) [30]

2 passm © (26.12.02 15:56)>

> Таким образом Johnmen опирается на слово
> соединение.

Соединяйтесь...

In nomine Patris, et Filli, et spiritus Sancti... Amen


wHammer   (2002-12-26 16:01:00) [31]

Ребят не ругайтесь пожалуйста из-за меня.
Не буду показывать все запросы (5), покажу лишь 2 Query, которые нужно соеденить.

TQuery1.SQL

select IDFilial, DateOtgr, NameIzd, sum(Kol) as KolSum
from PlanProdajFilial
where (IDFilial = :fFilial) and (DateOtgr = :fDate)
group by IDFilial, DateOtgr, NameIzd


TQuery1.SQL

select * from OstatkiFilialF
where (IDFilial = :fFilial) and (DateR = :fDate)


Нужно показать пользователю следующее (выборка(фильтр) данных по IDFilial и по DateXXXXX), шапка:

NameIzd | Ostatok | PlanProdaj |

С наилучшими...
Александр.


passm   (2002-12-26 15:56:00) [32]

Lady D © (26.12.02 15:48)> Вобщем, ты права, по образованию я учитель. Но. Сначала был вопрос: Можно ли получить соединение наборов данных двух TQuery?. В котором не встречается слово JOIN. Таким образом Johnmen опирается на слово
соединение.


MsGuns   (2002-12-26 15:55:00) [33]

>wHammer ©
Для выполнения многошаговых запросов в Paradox нельзя, к сожалению, использовать транзакции, а как следствие, теряют свой смысл хранимые процедуры. Я в таких случаях использую суррогатные скрипты, т.е. есть модуль, который делает многоступенчатые расчеты, берет очередной запрос из некоего текстового файла, подготовленного заранее в определенном формате (кроме SQL там есть "мои" операторы, например, для подстановки параметров). Модуль тупо выполняет все запросы из этого скрипта-файла и возвращает (или не возвращает, если была коррекция БД) НД, который я и "засовываю" в грид.
Трудно этот метод назвать оптимальным, но для парадокса ничего лучшего я не нашел.


Reindeer Moss Eater   (2002-12-26 15:53:00) [34]

У меня их не бывает по определению


Lady D   (2002-12-26 15:51:00) [35]


> Reindeer Moss Eater (26.12.02 15:49)
> Ну, вот, еще один "учитель".
> У Вас дни трудные, леди?

Это у Вас трудные. Ягель видимо снегом засыпало :-)


Lady D   (2002-12-26 15:50:00) [36]


> Reindeer Moss Eater (26.12.02 15:45)
> Вам Вам, Lady D

Вы вообще веточку то эту читали? Укажите мне где я советовала JOIN.


Reindeer Moss Eater   (2002-12-26 15:49:00) [37]

Ну, вот, еще один "учитель".
У Вас дни трудные, леди?


Lady D   (2002-12-26 15:48:00) [38]

2 passm © (26.12.02 15:45)>

> Lady D © (26.12.02 15:40)> Когда говорят соединение подразумевается
> JOIN; когда говорят объединение подразумевается UNION.

Ну, вот, еще один "учитель".
Цитирую себя еще раз: Lady D © (26.12.02 14:33)


Reindeer Moss Eater   (2002-12-26 15:45:00) [39]

Вам Вам, Lady D


passm   (2002-12-26 15:45:00) [40]

wHammer © (26.12.02 15:40)> Можно попробовать привести данные в отдельных запросах к одинаковой структуре.
Lady D © (26.12.02 15:40)> Когда говорят соединение подразумевается JOIN; когда говорят объединение подразумевается UNION.


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо