
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.06.2002, 19:13:29
|
|||
|---|---|---|---|
|
|||
ошибка фильтрации в джойнах, глюк СУБД или мой? |
|||
|
#18+
declare @period datetime set @period = '020301' select a.fscore_ptr, d.shut_month from actstate a right outer join decisionactstate d on (d.shut_month=@period and d.actstate_ptr=a.ptr) так вот, фильтр d.shut_month=@period не срабатывает странно вроде бы под ON можно вносить любую фильтрацию, а не только связывание или я ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.06.2002, 23:38:33
|
|||
|---|---|---|---|
ошибка фильтрации в джойнах, глюк СУБД или мой? |
|||
|
#18+
BOL - Accessing and Changing Relational Data - Query Fundamentals - Join Fundamentals - Using Joins - Using Outer Joins "The SQL-92 right outer join operator, RIGHT OUTER JOIN, indicates _all_rows_in_the_second_table_are_to_be_included in_the_results_, regardless of whether there is matching data in the first table. " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.06.2002, 10:40:29
|
|||
|---|---|---|---|
|
|||
ошибка фильтрации в джойнах, глюк СУБД или мой? |
|||
|
#18+
кто знает, как в других СУБД можно ли под ON писать кроме условия связывания еще и дополнительные условия (фильтрацию) Ну не хочу я сносить всю фильтрацию всех связанных таблиц под WHERE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.06.2002, 11:30:55
|
|||
|---|---|---|---|
ошибка фильтрации в джойнах, глюк СУБД или мой? |
|||
|
#18+
BOL - Accessing and Changing Relational Data - Query Fundamentals - Join Fundamentals "Joins indicate how Microsoft® SQL Server™ 2000 should use data from one table to select the rows in_another_table. Joins can be specified in either the FROM or WHERE clauses. The join conditions combine with the WHERE and HAVING search conditions to _control_the_rows_that_are_selected_from_the_base_tables referenced in the FROM clause. " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.06.2002, 11:45:00
|
|||
|---|---|---|---|
|
|||
ошибка фильтрации в джойнах, глюк СУБД или мой? |
|||
|
#18+
если бы я по примерам не глянул, так и не понял бы что к чему а смысл видимо следующий *ПРАВИЛЬНО* select T1.*, T2.* from TABLE1 T1 left join TABLE2 T2 on T1.F1=T2.F1 and T2.F2=5 *НЕПРАВИЛЬНО* select T1.*, T2.* from TABLE1 T1 left join TABLE2 T2 on T1.F1=T2.F1 and T1.F2=5 т.е. под LEFT OUTER JOIN ... ON можно фильтровать только правую таблицу, а для фильтрации левой используем WHERE для RIGHT OUTER JOIN все наоборот но ведь ГДЕ ОБ ЭТОМ ГОВОРИТСЯ ЧЕЛОВЕЧЕСКИМ ЯЗЫКОМ? цитаты из BOL - это не объяснение, а недомолвка. Даже переведенные на русский :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.06.2002, 12:04:56
|
|||
|---|---|---|---|
ошибка фильтрации в джойнах, глюк СУБД или мой? |
|||
|
#18+
>но ведь ГДЕ ОБ ЭТОМ ГОВОРИТСЯ ЧЕЛОВЕЧЕСКИМ ЯЗЫКОМ? >цитаты из BOL - это не объяснение, а недомолвка. >Даже переведенные на русский :) Я не вижу эдесь никаких недомолвок "Joins indicate how Microsoft® SQL Server™ 2000 should use data from one table to select the rows in_another_table. " Joins показывает каким образом Microsoft® SQL Server™ 2000 может использовать данные одной таблицы для выбора строк _из другой таблицы_ А использовав right outer join, вы сами определили, что decisionactstate - это base table, а actstate - another table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1822500]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 514ms |

| 0 / 0 |
