Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Получить данные, которые есть в одной таблице и которых нет в другой / 7 сообщений из 7, страница 1 из 1
27.03.2007, 19:55
    #34419669
novi111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные, которые есть в одной таблице и которых нет в другой
У меня такой вопрос:

есть таблица 1 с полями id, ...
и таблица 2 тоже с id и др. полями

Подскажите плиз запрос, чтобы вывести строки из таблицы 1, id которых не встречаются в табл. 2

Т.е. напр в табл 1 есть записи с id 1,2,3,4,5
В таблице 2 есть записи с шв 3,4
В итоге запрос должен вернуть 1,2,5

Спасибо.
...
Рейтинг: 0 / 0
27.03.2007, 21:08
    #34419765
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные, которые есть в одной таблице и которых нет в другой
Читай на тему ключевых слов minus, not exists, not in, outer join.
...
Рейтинг: 0 / 0
28.03.2007, 16:30
    #34422354
ЮВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные, которые есть в одной таблице и которых нет в другой
novi111У меня такой вопрос:

есть таблица 1 с полями id, ...
и таблица 2 тоже с id и др. полями

Подскажите плиз запрос, чтобы вывести строки из таблицы 1, id которых не встречаются в табл. 2

Т.е. напр в табл 1 есть записи с id 1,2,3,4,5
В таблице 2 есть записи с шв 3,4
В итоге запрос должен вернуть 1,2,5

Спасибо.

Все зависит от СУБД (точнее, от реализованного в ней диалекта языка SQL).
В качестве примера - СУБД Линтер (другие СУБД имеют аналогичные возможности).

create or replace table tab1 (i int);
create or replace table tab2 (i int);
insert into tab1 values (1);
insert into tab1 values (2);
insert into tab1 values (3);
insert into tab1 values (4);
insert into tab1 values (5);

insert into tab2 values (3);
insert into tab2 values (4);


1-й вариант:
SELECT tab1.i FROM tab2 UNION JOIN tab1 ON tab1.i=tab2.i;

2-й вариант (если выборки из двух разных Select-запросов могут быть приведены к единому виду - по количеству и типу столбцов)
select * from tab1
except
select * from tab2;
...
Рейтинг: 0 / 0
28.03.2007, 16:53
    #34422467
stomsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные, которые есть в одной таблице и которых нет в другой
В MSSQL должно сработать так:

select *
from table_1
where id not in (select id
from table_2)
...
Рейтинг: 0 / 0
30.03.2007, 12:03
    #34427002
sozon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные, которые есть в одной таблице и которых нет в другой
СУБД - Mysql, так что вложенные запросы не подходят
...
Рейтинг: 0 / 0
30.03.2007, 12:43
    #34427167
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные, которые есть в одной таблице и которых нет в другой
sozonСУБД - Mysql, так что вложенные запросы не подходят
Так и спросили бы в форуме по Mysql. Мелкие проблемы с запросами в Проектировании не обсуждаются
...
Рейтинг: 0 / 0
30.03.2007, 13:28
    #34427362
Lamazoid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные, которые есть в одной таблице и которых нет в другой
Так пойдет:(Таблица1 - имеет все записи которых нет в Таблица2)
SELECT Таблица1.*
FROM Таблица1 LEFT JOIN Таблица2 ON Таблица1.ID = Таблица2.ID
WHERE (((Таблица2.ID) Is Null));
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Получить данные, которые есть в одной таблице и которых нет в другой / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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