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

Вниз

Можно ли получить соединение наборов данных двух TQuery?   Найти похожие ветки 

 
wHammer   (2002-12-26 14:02) [0]

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

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


 
Johnmen   (2002-12-26 14:05) [1]

Если имеется в виду JOIN, то нет...


 
Lady D   (2002-12-26 14:09) [2]

Соединение двух запросов в TQuery:

SELECT ...
UNION ALL
SELECT ...


 
Johnmen   (2002-12-26 14:15) [3]

>Lady D © (26.12.02 14:09)

Маша, не надо путать соединение с объединением...


 
wHammer   (2002-12-26 14:21) [4]

Спасибо, теперь полностью убежден, а так были сомнения. Еще один вопрос - при закрытии программы происходит автоматически DROP VIEW для просмотра или нет.

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


 
Val   (2002-12-26 14:24) [5]

>wHammer © (26.12.02 14:21)
????


 
passm   (2002-12-26 14:26) [6]

wHammer © (26.12.02 14:21)> Нет, конечно.


 
Johnmen   (2002-12-26 14:27) [7]

Нет, конечно ! Ведь это объект БД !


 
Val   (2002-12-26 14:30) [8]

>passm © (26.12.02 14:26)
без пояснения автора обсуждение бесполезно.
поскольку, например, я могу в OnClose главной формы сделать это удаление - чем не автоматическое? ;)


 
wHammer   (2002-12-26 14:32) [9]

to Johnmen © (26.12.02 14:27)

Прошу прощения, просто никогда не приходилось использовать. Но ведь просмотр это не реальная таблица в БД, а виртуальная, в моем представлении, это таблица в памяти????? И что тогда происходит, если я закрываю приложение не выполнив DROP?

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


 
Lady D   (2002-12-26 14:33) [10]

Johnmen © (26.12.02 14:15)
>Lady D © (26.12.02 14:09)
Маша, не надо путать соединение с объединением...


Ув. Johnmen, что Вы этим хотели сказать? Это синонимы. И не только в русском языке:
join
2. сущ.
1)
а) соединение линия, плоскость соединения
Syn:
joint 1.
б) стык, паз, шов и т. п. (место соединения)
в) линия (соединяющая точки), плоскость соединения
2) объединение; пересечение
Syn: union


 
wHammer   (2002-12-26 14:35) [11]

Еще раз прошу прощения, не кидайте сильно в меня камнями, в литературе кот. у меня имеется не все ясно, а спросить не у кого, т.к. коллеги пишут кто на чем, но только не на Delphi.


 
passm   (2002-12-26 14:39) [12]

Val © (26.12.02 14:30)> В данном случае это будет для пользователя автоматическое удаление, но никак не для программиста.


 
Val   (2002-12-26 14:40) [13]

>wHammer © (26.12.02 14:32)
следует почитать теорию БД - view это реальные метаданные, являющеся, как срезами отдельных таблиц/просмотров, так и "собранными" из нескольких, а не таблица в памяти.
IB, кстати, имеет относительно небольшое разрешение на количество пересозданий объектов метаданных, восстанавливается счетчик только после backup\restore.
Так что оставьте просмотры в покое :)


 
Val   (2002-12-26 14:42) [14]

>passm © (26.12.02 14:39)
это была шутка, кстати тут не шла речь о том, для кого это действие автоматическое также , поэтому, собственно, я и просил пояснения у автора вопроса.


 
Johnmen   (2002-12-26 14:46) [15]

>Lady D ©

По жизни они синонимы, а вот в программировании - нет !
Абсолютно разные вещи...)))

>wHammer ©

Просто тебе надо разобраться, что такое VIEW.
Почитай документацию по IB. Там достаточно понятно...:)))


 
passm   (2002-12-26 14:48) [16]

Val © (26.12.02 14:40)> IB, кстати, имеет относительно небольшое разрешение на количество пересозданий объектов метаданных, восстанавливается счетчик только после backup\restore
:-\ С IB не приходилось работать,.. но интересно было бы узнать чем обосновано такое ограничение.



 
Lady D   (2002-12-26 14:55) [17]


> >Lady D ©
>
> По жизни они синонимы, а вот в программировании - нет !
> Абсолютно разные вещи...)))

Я знаю что такое Join и Union в SQL, Johmen, но из вопроса этого не было видно. Вы представили свою версию, а я свою. Вот и все. Зачем так напрягаться и обучать меня прописным истинам? Кстати, что Вы скажете насчет этого?
http://delphi.mastak.ru/cgi-bin/forum.pl?n=1&look=1&id=1040867978&from=20
Вы, кажется там тоже участвовали?


 
wHammer   (2002-12-26 15:00) [18]

to Val © (26.12.02 14:40)
В данный момент работаю с форматом Paradox.
То есть просмотр это НЕ ВИРТУАЛЬНАЯ ТАБЛИЦА (хотя так написано в книге "Delphi 5 Руководство разработчика баз данных. Шумаков П.В., Фаронов В.В."). Тогда пожалуй проще будет создать реальную "временную" таблицу CREATE TABLE и затем ее удалить, чем пользоваться VIEW, вообщем как раньше, например в PAL.

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


 
passm   (2002-12-26 15:07) [19]

wHammer © (26.12.02 15:00)> Грубо говоря, просмотр - некий SELECT, лежащий в БД. И, когда идет запрос к просмотру, фактически исполняется
SELECT...
FROM (SELECT...) AS VIEW_NAME
...


 
Val   (2002-12-26 15:12) [20]

>passm © (26.12.02 14:48)
Отрывок..:
В таблице RDB$FORMATS есть счетчик изменений, но он ограничен количеством 256. Когда счетчик достигнет этого значения, то дальнейшие изменения метаданных будут невозможны, пока не будет выполнена операция backup/restore.
Полнее вам расскажут более искушенные в работе с данным сервером люди.
>wHammer © (26.12.02 15:00)
в топике есть упоминание о IB5. вы говорите о drop view - из этого следуют однозначные выводы что речь о IB, поскольку в Local SQL, с помощью которого вы работаете(мое предположение) с Парадоксом, понятие просмотра...кхе, посмотрите сами в хелпе к нему(Local SQL) и убедитесь, что там предлагается по поводу view.
Но, коллеги, кажется мы отошли от темы вопроса, каждый в своем споре.
Уважаемый автор, конкретизируйте пожалуйста, стоящую перед вами задачу, дабы можно было предлагать решения.


 
wHammer   (2002-12-26 15:25) [21]

to Val © (26.12.02 15:12)

> Уважаемый автор, конкретизируйте пожалуйста, стоящую перед вами задачу, дабы можно было предлагать решения.

ОК. С помощью нескольких операторов Select, каждый в своем TQuery, сделана выборка данных, причем в некоторых из них сделана группировка, эти данные, в свою очередь используются для различных расчетов и т.д. Заказчик попросил для удобства вывести все эти Select в одну таблицу (т.е. просто Grid) read only. Общие (по структуре) во всех таблицах три поля NameIzd, IDFilial, DDate. Мне нужно соеденить эти таблицы(а по сути это не таблицы, а результаты выборки Select) по этим полям. Сделать это для меня не проблема, только каким путем пойти, что будет оптимальней??? Еще раз повторюсь, формат таблиц Paradox.

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


 
Lady D   (2002-12-26 15:30) [22]


> Заказчик попросил для удобства вывести все эти Select в
> одну таблицу (т.е. просто Grid) read only. Общие (по структуре)
> во всех таблицах три поля NameIzd, IDFilial, DDate.

Так вот на этот раз я оказалась права :-) UNION ALL.
Johnmen! Жду извинений.


 
passm   (2002-12-26 15:37) [23]

Lady D © (26.12.02 15:30)> <Johnmen © (26.12.02 14:05)> прав.


 
Val   (2002-12-26 15:39) [24]

>wHammer © (26.12.02 15:25)
действительно, тогда прислушайтесь к предложению Lady D ©.


 
wHammer   (2002-12-26 15:40) [25]

to Lady D © (26.12.02 15:30)

Прошу прощения но UNION это совсем не то, в моем случае. Во первых все-таки Join, а во-вторых UNION объеденяет только ОДИНАКОВЫЕ по структуре данные.


 
Lady D   (2002-12-26 15:40) [26]

2passm © (26.12.02 15:37)>
В чем это он прав? В том, что JOIN не подойдет? Я говорю о правильном толковании вопроса и выдаче ответа.


 
Reindeer Moss Eater   (2002-12-26 15:42) [27]

В том, что JOIN не подойдет?

Ни разу не подойдет.

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


 
Val   (2002-12-26 15:43) [28]

опять предположения разошлись :))
>wHammer © (26.12.02 15:25)
покажите нам на небольшом примере с данными, что ли, что точно нужно :)



 
Lady D   (2002-12-26 15:44) [29]

2 Reindeer Moss Eater (26.12.02 15:42)>

> В том, что JOIN не подойдет?
>
> Ни разу не подойдет.

Это Вы мне? Или все таки Johnmen"у ...


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

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


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

Вам Вам, Lady D


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

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:49) [33]

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


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


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

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


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


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

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


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

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


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

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


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

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


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

Ребят не ругайтесь пожалуйста из-за меня.
Не буду показывать все запросы (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 |

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


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

2 passm © (26.12.02 15:56)>

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

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

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



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

Форум: "Базы";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.011 c
1-72379
Sectey
2003-01-13 10:36
2003.01.23
В Паскале ParamStr, а в Си?


8-72423
step[B.M.]
2002-10-07 15:00
2003.01.23
Документация к lime.dll !!!


3-72093
Big_Rom
2002-12-28 22:59
2003.01.23
Fastreport


1-72357
NewGuest
2003-01-12 21:12
2003.01.23
Как развернуть программу из минимизированного?


7-72562
OK
2002-11-11 18:02
2003.01.23
Как узнать список аппаратных IRQ.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский