Форум: "Базы";
Текущий архив: 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.012 c