Страница 2 из 2
					
				И что
				Добавлено: 14 фев 2005, 15:19
				 zanuda
				Ок, "...запрос всех полей НЕ ДЕЛАЕТСЯ, если в view указан список полей..." А что насчет необходимой мне сортировки?
			 
			
					
				Re: И что
				Добавлено: 14 фев 2005, 16:53
				 WiRuc
				.Create view testView
as
select
MBPMOVE.DMOVE(fieldname=dateF),
MBPIN.SUMMA(fieldname=StoimF),
KATMBP.NAME(fieldname=MBPName),
MBPIN.KOLDOC(fieldname=kolF),
KATMBP.NNUMBER(fieldname=MBPKod),
KATMOL.NAME (fieldname=MOLFROM)
from katmbp,mbpin,mbpmove,katmol
WHERE
(( KATMBP.NREC == MBPIN.CMBP  AND
   (word(3) <> MBPIN.INSTATE) AND
   MBPIN.CSOPR == MBPMOVE.NREC AND
   MBPMOVE.CMOLF == KATMOL.NREC ))
ORDER BY KATMBP.NNUMBER;
			 
			
					
				Re: И что
				Добавлено: 14 фев 2005, 16:59
				 zanuda
				MBPIN.INSTATE - это что?
			 
			
					
				Re: И что
				Добавлено: 14 фев 2005, 17:29
				 WiRuc
				Тип прихода
Приход ведь можент быть и со склада, в этом случае INSTATE=3 и MBPIN.CSOPR ссылается не на MBPMOVE, а на KATSOPR.
			 
			
					
				Re: И что
				Добавлено: 15 фев 2005, 09:11
				 Goblin
				Действительно ... 
Поглядел ASDK, сказанное актуально было только для Pervasive, ввиду особенностей его API ...
А с MS SQL малость обосрамился 

 
			 
			
					
				Re: И что
				Добавлено: 15 фев 2005, 09:21
				 zanuda
				Ну до этого я бы точно сам не дошел 

 только путем перебора полей в галактике. 
Прочту, запишу, выучу. 
А вообще, эти таблицы для подробного реестра вводов в эксплуатацию?
 
			 
			
					
				Re: И что
				Добавлено: 16 фев 2005, 09:20
				 zanuda
				Всем большое спасибо
			 
			
					
				Re: И что
				Добавлено: 16 фев 2005, 09:26
				 Maverick
				Ээээ, ребята не ссорьтесь )))
поясняю )))
использование в селекте * или Table.* параллельно для прикладухи, для платформы - глубоко не параллельно )))
И москвичи, читающие курсы тоже в чем-то правы... просто они не договаривают, что "галактике пофиг - выбирается все или только определенные поля" верно ТОЛЬКО для Pervacive ))), MS SQL и Oracle, как уважающие себя платформы и вообще говоря - нормальные СУБД САМИ сужают запрос до того перечня, который указан в самом LOT. На 100% не уверен, но похоже это делает прокладка...
			 
			
					
				Re: И что
				Добавлено: 16 фев 2005, 11:33
				 WiRuc
				А кто сориться то:)
Нормальные СУБД не могут сами сужать запрос, они выполняют точно то, что им посылают. То, что для прикладухи все глубоко параллельно, это верно. На то она и платформо-независимая. А вот преобразованием в запросы занимается прокладка СУБД (ms70drv.dll для MSSQL). А как занимается, закачаешься, расстрелял бы разработчиков.
Кстати, интересный факт. Если вообще не указывать в VIEW поля, т.е. написать CREATE VIEW FROM ..., то компилятор сам на основе дальнейшего текста программы (интерфейса) определяет список необходимых полей в запросе.
			 
			
					
				глупые вопросы
				Добавлено: 17 фев 2005, 11:17
				 zanuda
				ну вы развернули тему. 
А вот скажите, данные из запроса в SQL Enterprise Menager и в Галактике должны же совпадать при одинаковом запросе (те же связки и т.д.) к таблицам?
Почему в галактике данные множатся (доходит до 9 раз)?
И третье, что предпочтительней (лучше)? Писать GetNext.ИмяView или же 
ИмяView.getNext ИмяТаблицы ???
			 
			
					
				Re: глупые вопросы
				Добавлено: 17 фев 2005, 11:24
				 zanuda
				Ой, т.е.
Имяview.getnext
или
ИмяView.getNext ИмяТаблицы ?
			 
			
					
				Re: глупые вопросы
				Добавлено: 18 фев 2005, 11:12
				 edward_K
				все зависит от ситуевины.
в формах vvv.getfirst table не приводит автоматически к позиционированию в дочерних таблицах.
в тоже время vvv.getfirst ; приводит к вычислению всех полей, описанных в select
поэтому когда связь по всем дочерним таблам 
1 к 1, то могу посоветовать юзать vvv.getfirst ; ну и затем vvv.getnext, в противном случае по vvv.getnext ,будете получать почти одинаковые наборы в буфере - что не всегда удобно. 

 
			 
			
					
				Re: глупые вопросы
				Добавлено: 18 фев 2005, 14:08
				 edd
				Вот из-за одинаковых наборов я и спросил. Спасиб за объяснение
			 
			
					
				Re: глупые вопросы
				Добавлено: 21 фев 2005, 11:55
				 stray
				и как же избежать получения ентих
одинаковых наборов в буфере - что всегда не удобно и путает все карты ???