Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SELECT из 2-х таблиц / 4 сообщений из 4, страница 1 из 1
02.07.2002, 08:26:48
    #32034642
Klaus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT из 2-х таблиц
Проблема возникает довольно часто и связана конкретно с языком SQL.

Есть 2 таблицы и примитивный запрос типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
select
        Table1.Field1, Table1.Field2, Table2.Field2
from
        Table1, Table2
where
        Table1.Field1='1' and Table1.Field2=Table2.Field1


Как модернизировать этот запрос, чтобы производилась эта выборка, но ЕСЛИ Table1.Field2 != Table2.Field1, ТО ТАКЖЕ ПРОИЗВОДИЛАСЬ ВЫБОРКА И Table2.Field2 было бы пустым ???
Т.е. надо выбрать Table1.Field1 и Table1.Field2, а если есть Table2.Field2, то еще и его :)

Это можно решить двумя запросами. А одним ни как ?
...
Рейтинг: 0 / 0
02.07.2002, 09:19:37
    #32034644
Sanek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT из 2-х таблиц
Если я правильно понял то должно помочь примерно следующее :
Select Table1.Field1,Table1.Field2,Table2.Field1
from Table1
Left join Table2 on Table1.field1 = Table2.field2
where table1.Field2 = "2"
...
Рейтинг: 0 / 0
02.07.2002, 10:09:50
    #32034656
AnKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT из 2-х таблиц
Еще можно по старому стандарту

select
Table1.Field1, Table1.Field2, Table2.Field2
from
Table1, Table2
where
Table1.Field1='1' and Table1.Field2 *= Table2.Field1
...
Рейтинг: 0 / 0
02.07.2002, 16:53:20
    #32034774
Dominic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT из 2-х таблиц
Тебе не это надо?

CREATE TABLE #t1 (f1 INT NOT NULL, f2 INT NULL)
CREATE TABLE #t2 (f1 INT NOT NULL, f2 INT NULL)

INSERT INTO #t1 VALUES (1,1)
INSERT INTO #t1 VALUES (2,2)
INSERT INTO #t1 VALUES (3,5)

INSERT INTO #t2 VALUES (1,1)
INSERT INTO #t2 VALUES (3,4)
INSERT INTO #t2 VALUES (4,NULL)

SELECT #t1.*, #t2.*
FROM #t1 INNER JOIN #t2
ON ((#t1.f2=#t2.f1) OR (#t1.f2!=#t2.f1 AND #t2.f2 IS NULL))

DROP TABLE #t1
DROP TABLE #t2
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SELECT из 2-х таблиц / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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