1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Как выделить из 2х таблиц неодинаковые строки?

Тема в разделе "Программирование", создана пользователем MAY, 24.12.09.

  1. MAY

    MAY Активный участник

    4.262
    3
    Простая задача на MS SQL, но что то не получается :( времени в обрез, к утру нужен результат.
    Есть две таблицы, в каждоый по два столбца:

    таблица error
    __fio ________ pass
    пупкин 18 04 111111



    таблица reis
    ___pas _________mgh
    18 03 111111 внуково

    нужно сделать селект из этих двух таблиц в результате которого будут строки в которых нет одинаковых паспортных данных.
    пробовал вот так:
    select fio,pass,mgh from error,reis
    where error.pass<>reis.pas
    выдает хрень....87 тыс строк...а в каждой таблице по 200 и 300 строк всего.
    колонки pass и pas имеют в обоих таблицах значение char
    Помогите люди добрые :)
    чувствую что где то просто но не могу догнать где....
     
  2. panda-34

    panda-34 Активный участник

    1.589
    0
    select *
    from error
    where pass not in
    (select pass from reis)
    union all
    select * from reis
    where pass not in
    (select pass from error);
     
  3. Zuka58

    Zuka58 Активный участник

    2.299
    7
    SELECT error.fio, error.pass, reis.pas, reis.mgh
    FROM error FULL JOIN reis ON error.pass = reis.pas
    WHERE (error.pass IS NULL) OR (reis.pas IS NULL)

    з.ы. у MS SQL есть FULL OUTER JOIN. пишу из головы, т.к. проверить щас негде. но должно быть так
     
  4. MAY

    MAY Активный участник

    4.262
    3
    всем спасибо! Получилось!
    Респект и уважуха парни!