|
|
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемый all. Как то часто бывает необходимо перевести запрос с MSSQL сервера на Access. И вот-тут то я и наткнулся на грабли, а именно Access не поддерживает несколько условий в Join. Мне необходимо сделать join именно по нескольким уловиям. Как здесь быть? Вот пример запроса : select cm_Company.id, cm_Company.Name, cm_CompanyInfo.DateValue from cm_Company left outer join cm_CompanyInfo on cm_CompanyInfo.Subj_id = cm_Company.id left outer join cm_AddInfoType on cm_CompanyInfo.InfoType_id = cm_AddInfoType.id and cm_AddInfoType.Code = 'DateCreate' Так вот как мне указать условие cm_AddInfoType.Code = 'DateCreate', чтобы произошло связывание имеено по left outer join, а не по жесткому where ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:10:46 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:14:13 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Не любит акс когда скобок мало :)) Код: plaintext 1. 2. 3. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:14:26 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
paparome, что-то ты не те скобки поставил. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:15:29 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Владимир СанычГлупые гости умеют читать? http://www.sql.ru/faq/faq_topic.aspx?fid=213 вопрос 26. Да - не достаточно скобок поставил :( Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:16:27 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
А те, которые поставил раньше, можешь убрать. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:17:11 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Владимир Санычpaparome, что-то ты не те скобки поставил. :^) ИМХО - эти тоже пригодятся :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:17:11 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Даже такие глупые гости как я читать умеют, и могу спросить обратное у Вас? Я привел запрос в SQL сервере, и как расставить скобки я знаю, вопрос то заключался совсем в другом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:19:45 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Владимир СанычА те, которые поставил раньше, можешь убрать. :^) Хм. Странно - действительно без них тоже работает :) И почему, мне всегда казалось, что если после on стоит 2 условия, то их надо в скобки? Типа: ... on (a=a) and (b=b) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:21:14 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Большое спасибо : paparome, Владимир Саныч. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:23:35 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Скобки расставь. Несколько условий поддерживает, только в конструкторе не всегда может их показать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:25:27 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
О. Пока искал топик про Поросю :) тут уже наотвечали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:28:10 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Владимир СанычА те, которые поставил раньше, можешь убрать. :^) Не - Саныч, я понял Если сравнение идет не с полем, а с константой, то без "моих" скобок ругается матерно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:30:48 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Глупый ГостьДаже такие глупые гости как я читать умеют, и могу спросить обратное у Вас? Я привел запрос в SQL сервере, и как расставить скобки я знаю, вопрос то заключался совсем в другом. Глупый ГостьБольшое спасибо : paparome, Владимир Саныч. Интересно... Судя по IP, это писал один и тот же человек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:45:00 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Саныч, что-то я в этой жизни не понял :( Запрос типа Код: plaintext 1. Вернул, не то что я ожидал :( т.е. он вернул 1 строку ---------- 2 2 тоже самое на серваке, возвращает, как я и ожидал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 1 null 2 2 3 null В чем глюк? PS: проверял на Акс97 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 12:53:37 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Есть какой-то баг, который в свое время нашел Лох. Сейчас поищу по форуму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 13:03:41 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Владимир СанычЕсть какой-то баг, который в свое время нашел Лох. Сейчас поищу по форуму. Нет - как это обойти я представляю :) Смущает другое: На маленьком запросе сразу видно, что тебя "прокатили" и ищешь обходы, но когда в большом запросе все делаешь честно, а потом не понимаешь, что-то сумма не сходится - смотришь запрос, вроде все гуд. Блин - вот так и рушаться цивилизации :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 13:08:21 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Вось. /topic/40342 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 13:08:40 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Владимир СанычВось. /topic/40342 Не совсем то - но спасибо :) Т.е. у меня такое подозрение, что когда идет связка по константе, то он ее проверяет после связки, а не до (все равно, что во Where это условие вынесли), в итоге Left/Right - работают как простенький Inner :( Обидно :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 13:12:21 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
paparomeТ.е. у меня такое подозрение, что когда идет связка по константе, то он ее проверяет после связки, а не до (все равно, что во Where это условие вынесли), в итоге Left/Right - работают как простенький Inner :( Обидно :( Так у Лоха тоже связка по константе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 13:19:48 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
дупль Код: plaintext 1. Замени на Код: plaintext 1. зы. Иногда до меня доходит. Вот дошло посля года как..., и надо ж - работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:19:47 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
фыыфдупль Код: plaintext 1. Замени на Код: plaintext 1. зы. Иногда до меня доходит. Вот дошло посля года как..., и надо ж - работает Круто :) Предлагаю в ФАК - сам не проверял А может трабл в СервисПаках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:22:59 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
у меня ТАКОЕ было : добавлял и отнимал от поля счётчик 1 ---> всё лечилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:27:46 |
|
||
|
Вернемся к нескольким условиям в join
|
|||
|---|---|---|---|
|
#18+
Блин - проверил :) И действительно робит :) Обманули :) Хитрый какой-то оптимизатор запросов у Акса - по хорошему не понимает Типа если константа, так и нефиг ей в условии связывания делать, а если поле или формула от полей, то все ГУД :) 2 фыыф СПАСИБО тебе А то я уже стреляться надумал :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2004, 15:30:28 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1605&tid=1673613]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 195ms |
| total: | 392ms |

| 0 / 0 |
