|  02.08.2005, 19:39 | #1 | 
| Участник | Условие where в синтаксисе Query 
			
			Подскажите, пожалуйста, как с помощью синтаксиса Query отразить условие ...where RAssetTrans.AccountNum == RassetTable.AccountNum ?
		 | 
|  | 
|  02.08.2005, 19:47 | #2 | 
| Участник | 
			
			какое то странное условие..  а точно такое условие? текущая строка фильтруется сама на себя? но если я чего то не поняла this.query() .dataSourceTable(TableNum(tmpLedgerAccountsQuery)) .addRange(fieldnum(tmpLedgerAccountsQuery,balance)).value(параметр фильтра); | 
|  | 
|  02.08.2005, 19:51 | #3 | 
| Участник | 
			
			и по-моему на форуме уже не раз обсуждались вопросы с Query (разных форматов написания) предлагаю воспользоваться поиском на форуме)) говорят, помогает))) | 
|  | 
|  02.08.2005, 20:01 | #4 | 
| Участник | 
			
			select Name from RAssetTable where RAssetTable.AccountNum == RAssetTrans.AccountNum; -чего тут странного((( | 
|  | 
|  02.08.2005, 20:14 | #5 | 
| Участник | 
			
			есть метод на RAssetTrans под названием assetName(), который возвращает Наименование из таблицы Основные стредства получается вот так Name = RAssetTrans.assetName() | 
|  | 
|  02.08.2005, 20:18 | #6 | 
| Участник | 
			
			мне надо понять с query, это только для примера про основные (((
		 | 
|  | 
|  02.08.2005, 20:36 | #7 | 
| Участник | 
			
			последовательно в квери прикрепляешь необходимые таблицы, связывая их между собой, с указанем полей для связки...  далее определяешь QueryRun на основе составленного квери, и просмотриваешь каждую строку PHP код: 
			QueryBuildRange range; QueryBuildRange rangeTrans; | 
|  | 
|  02.08.2005, 20:41 | #8 | 
| Участник | |
|  | 
|  03.08.2005, 13:19 | #9 | 
| Участник | 
			
			А если у меня запрос по двум таблицам, то я должен дважды делать OST = qr.get(tablenum(RAssetTrans)) и Name = qr.get(tablenum(RAssetTable)) - так? | 
|  | 
|  03.08.2005, 14:23 | #10 | 
| Участник | 
			
			Совершенно верно! При условии, что ты будешь извлекать данные из обеих таблиц!
		 | 
|  | 
|  03.08.2005, 14:36 | #11 | 
| Участник | 
			
			из обеих таблиц -это значит добавить в один и тот же два разных датасурса? то есть типа from RAssetTrans,RAssettable? qbdsRAssetTrans = queryRAssetTrans.addDataSource(tablenum(RAssetTrans)); qbdsRAssetTrans = queryRAssetTrans.addDataSource(tablenum(RAssetTable)); | 
|  | 
|  03.08.2005, 14:44 | #12 | 
| Участник | 
			
			Query                           q  = new Query(); QueryRun qr; QueryBuildDataSource qbdsTable, qbdsTrans; RAssetTable _RAssetTable; RAssetTrans _RAssetTrans; qbdsTrans = q.addDataSource(tablenum(RAssetTable)); qbdsTable = qbdsTransaddDataSource(tablenum(RAssetTrans)); qbdsTable.joinMode(joinMode::InnerJoin) qbdsTable.addLink(fieldNum(Table, AccountNum), fieldNum(RAssetTrans, AccountNum)); qr = new QueryRun(q); while (qr.next()) { _RAssetTable = qr.get(tablenum(RAssetTable)) ; _RAssetTrans = qr.get(tablenum(RAssetTrans)) ; //_RAssetTable - перменная типа таблицы, в которую задан курсор из запроса //_RAssetTrans - перменная типа таблицы, в которую задан курсор из запроса // теперь с этими перемеными-курсорами можно работать и вытаскивать //данные Name = _RAssetTable.Name; - наименование ОС } | 
|  | 
|  03.08.2005, 15:06 | #13 | 
| Участник | 
			
			работает...))).Спасибо тебе, Tays. ))) Можно еще спросить? По почте) ?
		 | 
|  | 
|  03.08.2005, 15:18 | #14 | 
| Участник | 
			
			когда я в запросе суммирую сумму по одинаковым AccountNum , то при этом в отчете исчезает поле Наиманование. А до этого все красиво выводилось...
		 | 
|  | 
|  03.08.2005, 15:25 | #15 | 
| Участник | 
			
			и еще. Если я хочу сделать не select *, а select конкретное поле, но при этом без group by. если я пользуюсь selectionfield . то он требует указать group by. А мне надо, например, просто Name
		 | 
|  | 
|  03.08.2005, 15:32 | #16 | 
| Участник | 
			
			Придется его отдельно подтаскивать наименование по AccountNum, потому что при группировке оно съедается. (display - метод, к примеру, если запрос для формы делаете) PHP код: 
			А для Name пожно указать,к примеру SelectionField::Max - тоже подтащит вам название   | 
|  | 
|  03.08.2005, 15:34 | #17 | 
| Участник | |
|  | 
|  03.08.2005, 16:16 | #18 | 
| Участник | 
			
			как сделать в отчете две колонки, чтобы в них выводились по определенному условию цифры из одного и того же поля таблицы? Всё это в синтаксисе Query/ Возможен ли такой вариант ? While (queryRun.next()) { // объявление и формирование нового query и queryrun } | 
|  | 
|  03.08.2005, 16:22 | #19 | 
| Участник | 
			
			написать два дисплей метода для колонок - а в них проверть условие.   if (condition) return Table.Field; return ''; а condition может быть к примеру переменной из classDeclaration отчета. а их можно заполнять в цикле по записям вашем. | 
|  | 
|  03.08.2005, 16:24 | #20 | 
| Участник | 
			
			интересно... да, вариант. ) А как я говорю-можно так? То есть внутри queryrun.next() еще раз бегать? Неэффективно так? Но можно? Как считаете?
		 | 
|  |