Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как реализовать CASE при JOIN?
|
|||
|---|---|---|---|
|
#18+
Мда... бувают в жизни огорчения. При выполнении кода типа SELECT SUM(C.X) FROM A INNER JOIN B ON A.ID=B.ID INNER JOIN C ON B.ID=C.ID AND B.ID1=C.ID1 В последней строке мне необходимо менять параметры присоединения по типу INNER JOIN C ON (CASE WHEN B.ID2=1 THEN B.ID=C.ID AND B.ID1=C.ID1 ELSE B.ID=C.ID AND C.ID1=B.ID2 END) При попытке создать подобное SQL ругается, что ничего не понимает... Я тоже ничего не понимаю... Например, как это условие можно реализовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2001, 14:39 |
|
||
|
Как реализовать CASE при JOIN?
|
|||
|---|---|---|---|
|
#18+
INNER JOIN C ON ( CASE WHEN B.ID2=1 THEN B.ID=C.ID AND B.ID1=C.ID1 ELSE B.ID=C.ID AND C.ID1=B.ID2 END) ( B.ID2 = 1 and B.ID=C.ID AND B.ID1=C.ID1) or ( B.ID2 != 1 and B.ID=C.ID AND C.ID1=B.ID2 ) Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2001, 14:47 |
|
||
|
Как реализовать CASE при JOIN?
|
|||
|---|---|---|---|
|
#18+
А если так попробовать SELECT SUM(C.X) FROM A INNER JOIN B ON A.ID=B.ID INNER JOIN C ON B.ID=C.ID AND C.ID1 = CASE WHEN B.ID2=1 THEN B.ID1 ELSE B.ID2 END Во всяком случае у меня на SQL2000 это работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2001, 14:53 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3576&tid=1826759]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
23ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 312ms |

| 0 / 0 |
