09.07.2007, 09:33 | #1 |
Участник
|
Снова запрос
Не могу связать таблицы по условию или:
Код: select * from Contragent as A join Ledger as B on B.VDTSC0 = A.Code or B.VKTSC0 = A.Code or B.VDTSC1 = A.Code where A.Code = ' *' |
|
09.07.2007, 12:37 | #3 |
Участник
|
Да, вторая ссылка для меня оказалась более информативна, чем первая
А вообще, ситуация такая. Я поместила в форму 2 датасорса. Когда в первом (А) выбирается строка, во втором (В) должны отбираться строки, у которых в одном из 10 полей (любом) есть значение из первого ДС. В (А) я перекрыла метод leave и вызываю из него В.executeQuery в котором устанавливаю значение range, соответствующее строке из (А). Мне кажется это не совсем верно. Я еще не отладила толком, почему-то запрос вызывается дважды |
|
|
За это сообщение автора поблагодарили: kashperuk (1). |
09.07.2007, 12:48 | #4 |
Участник
|
Вы можете связать их без перекрытия метода leave.
Через дизайнер это сделать не получиться, но вы можете перекрыть метод init на источнике данных втором, и в нем написать требуемые условия, используя приведенную выше ссылку (первую ) в качестве основы. Тогда вызов обновления строк будет вызываться уже системой. |
|
09.07.2007, 12:53 | #5 |
MCT
|
Да с leave ситуация немного туманна, вернее было бы уж active пользовать
|
|
09.07.2007, 13:14 | #6 |
Участник
|
>>>10 полей (любом) есть значение из первого ДС.
А можно узнать, что это за таблицы и что это за 10 полей? |
|
09.07.2007, 13:29 | #7 |
Участник
|
init и active попробую, спасибо.
А 10 полей - это субконто проводок из 1С, ну соответственно в любом из них может быть нужное мне значение |
|
09.07.2007, 14:51 | #8 |
MCT
|
Насколько помню 1С это ж аналитики. Неужели по ним может быть пересечение?
Мдя... однако. |
|
09.07.2007, 14:52 | #9 |
Участник
|
active работает примерно так же, как leave.
А с init я что-то не догоняю: у меня relations между таблицами не прописан (так как связь по нескольким полям с условием "или"), т.е. мне его нужно добавлять через addLink? Что-то я не пойму, как туда "или" запихнуть |
|
09.07.2007, 14:55 | #10 |
Участник
|
2 MikeR
По Д-ту и К-ту точно может быть |
|
09.07.2007, 14:59 | #11 |
Участник
|
Цитата:
См. приведенную Максимом ссылку. Раздел - Conditional Joins |
|
09.07.2007, 15:02 | #12 |
MCT
|
А там и про ИЛИ говориться, в range
|
|