powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / можно ли переделать JOIN
9 сообщений из 9, страница 1 из 1
можно ли переделать JOIN
    #36480055
_devel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASE 15.0.2
Можно ли переделать такой запрос с from ... join ...

Код: plaintext
1.
2.
3.
4.
select count(*)
           from arr a, inst i, bill b
           where a.a_id =  5  and
                 (a.a_id = b.a_id or
                  a.a_id = i.a_id)
...
Рейтинг: 0 / 0
можно ли переделать JOIN
    #36480125
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_devel wrote:

> Можно ли переделать такой запрос с from ... join ...
>
> select count(*)
> from arr a, inst i, bill b
> where a.a_id = *5* and
> (a.a_id = b.a_id or
> a.a_id = i.a_id)

Это ?

Код: plaintext
1.
2.
3.
4.
5.
select count(*)
from arr a
left join inst i on a.a_id = i.a_id
left join bill b on a.a_id = b.a_id
where a.a_id =  5 

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
можно ли переделать JOIN
    #36480160
Фотография Alexandr Nikolaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select
  count(*)
from
  arr a
join
  inst i on a.a_id =  5 
join
  bill b on a.a_id =  5 
where
  (i.a_id =  5  or b.a_id =  5 )
C уважением,
AlexandrN©
...
Рейтинг: 0 / 0
можно ли переделать JOIN
    #36480170
Mikle83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
select
  count(*)
from arr a
  left join inst i on i.a_id = a.a_id
  left join bill b on b.a_id = a.a_id
where ((i.a_id not null) or (b.a_id not null))
and (a.a_id =  5 )
...
Рейтинг: 0 / 0
можно ли переделать JOIN
    #36480263
_devel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет, не один из вариантов не верный!

Более подробно:

Код: plaintext
1.
2.
3.
4.
select count(*)
           from arr a, inst i, bill b
           where a.a_id =  5  and
                 (a.a_id = b.a_id or
                  a.a_id = i.a_id)

этот запрос работает так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
select (
((select count(*)
from arr a
join inst i on a.a_id = i.a_id
where a.a_id =  5 )
*
(select count (*) from bill b))
+
((select count(*)
from arr a
join bill b on a.a_id = b.a_id
where a.a_id =  5 ) 
*
(select count (*) from inst i))
-
(select count (*)
from arr a
join inst i on a.a_id = i.a_id
join bill b on a.a_id= b.a_id
where a.a_id =  5 )
)
...
Рейтинг: 0 / 0
можно ли переделать JOIN
    #36480287
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_devel wrote:

> нет, не один из вариантов не верный!

Вообще, исходный запрос тоже неверный.
Что вообще он должен был бы выбирать,
можешь объяснить ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
можно ли переделать JOIN
    #36480656
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_develASE 15.0.2
Можно ли переделать такой запрос с from ... join ...

Код: plaintext
1.
2.
3.
4.
select count(*)
           from arr a, inst i, bill b
           where a.a_id =  5  and
                 (a.a_id = b.a_id or
                  a.a_id = i.a_id)

Если я правильно читаю этот запрос, то ты ищешь суммарное количество строк с a_id=5 в трех таблицах.

Показывай примеры всех трех исходных таблиц и укажи какие из строк должны попасть в count().
...
Рейтинг: 0 / 0
можно ли переделать JOIN
    #36481625
rastaman_sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да тут скорей всего сама структура базы (лигика таблиц) несистематизирована.

тут можно, приколить как только можно, написать вьюв на те таблицы (б, и) :)


Я люблю рэгги!!! www.reggi.lt
...
Рейтинг: 0 / 0
можно ли переделать JOIN
    #36483293
BirdIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_develASE 15.0.2
Можно ли переделать такой запрос с from ... join ...


Попробуй так...
Код: plaintext
1.
2.
3.
select count(*)
from inst i, bill b
join arr a on a.a_id =  5 
where a.a_id = b.a_id or a.a_id = i.a_id
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / можно ли переделать JOIN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]