FULL JOIN.... какая альтернатива?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



FULL JOIN.... какая альтернатива? Expand / Collapse
Автор
Сообщение
25.12.2005 21:06
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 19.05.2007 12:29
Сообщ.: 37, Visits: 334
В Transact-SQL есть конструкция FULL JOIN. В запросах ACCESSa ее применить нельзя...либо LEFT, либо RIGHT.....а очень нужно....
Какая альтернатива есть этой команде?
Сообщ. #887683
26.12.2005 18:59
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 13.03.2008 11:35
Сообщ.: 839, Visits: 8 738
А если просто JOIN?
Сообщ. #887775
28.02.2007 20:40
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
Искал ответ на этот же вопрос и получил ссылку на эту тему.

to Михайло: а если просто, прежде чем что то советовать, попробовать воспользоваться своим советом самому?

С уважением,
Сообщ. #911150
01.03.2007 7:33


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 24.11.2007 8:22
Сообщ.: 403, Visits: 4 348
Давайте исходить из того что не все присутствующие знают что возвращает FULL JOIN, но при этом могут помочь... если им показать что хочется получить в результате
Сообщ. #911155
01.03.2007 8:10
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 06.12.2007 7:03
Сообщ.: 359, Visits: 3 784
Some database systems do not support this functionality, but it can be emulated through the use of left and right outer joins and unions http://en.wikipedia.org/wiki/Join_(SQL)
Сообщ. #911156
01.03.2007 8:14
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 07.03.2008 19:04
Сообщ.: 328, Visits: 1 857
FULL [ OUTER ]

Указывает, что в результирующий набор включаются строки как из левой, так и из правой таблицы, несоответствующие условиям соединения, а выходные столбцы, соответствующие оставшейся таблице, устанавливаются в значение NULL. Этим дополняются все строки, обычно возвращаемые при помощи INNER JOIN.
(http://msdn2.microsoft.com/ru-ru/library/ms177634.aspx)
Я думаю, что FULL JOIN = LEFT JOIN + UNION + RIGHT JOIN
Сообщ. #911157
01.03.2007 8:16
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 06.12.2007 7:03
Сообщ.: 359, Visits: 3 784
Что-то ссылка не работает...

Full outer join

A full outer join combines the results of both left and right outer joins. These joins will show records from both tables, and fill in NULLs for missing matches on either side.

Some database systems do not support this functionality, but it can be emulated through the use of left and right outer joins and unions (see below).

Example full outer join (ANSI 92 standard syntax):

SELECT * 
FROM employee
     FULL OUTER JOIN
     department
       ON employee.DepartmentID = department.DepartmentID
+-----------+--------------+----------------+--------------+
| LastName  | DepartmentID | DepartmentName | DepartmentID |
+-----------+--------------+----------------+--------------+
| Smith     |           34 | Clerical       |           34 |
| Jones     |           33 | Engineering    |           33 |
| Robinson  |           34 | Clerical       |           34 |
| Jasper    |           36 | NULL           |         NULL |
| Steinberg |           33 | Engineering    |           33 |
| Rafferty  |           31 | Sales          |           31 |
| NULL      |         NULL | Marketing      |           35 |
+-----------+--------------+----------------+--------------+
The same example, for use on databases that do not support FULL OUTER JOIN:

SELECT
     employee.LastName,
     employee.DepartmentID, 
     department.DepartmentName,
     department.DepartmentID
FROM employee
     LEFT JOIN
     department
       ON employee.DepartmentID = department.DepartmentID
UNION
SELECT
     employee.LastName,
     employee.DepartmentID, 
     department.DepartmentName,
     department.DepartmentID
FROM employee
     RIGHT JOIN
     department
       ON employee.DepartmentID = department.DepartmentID
       WHERE employee.DepartmentID IS NULL

Сообщ. #911158
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 8:49