2015-07-24 2 views
-1

Я создал таблицу managers:как получить непревзойденные данные из двух таблицы

create table managers(
    ManagerId int identity(1,1) not for replication not null, 
    M_name varchar(20), 
    Salary varchar(20), 
    joining_year varchar(20), 
    city varchar(20), 
    IdCode int 
) 

затем вставить некоторые данные в этой таблице:

ManagerId | M_name | Salary | joining_year | city | IdCode 
---------------------------------------------------------------------- 
1   | riva | 50000 | 1998   | pune | 4 
2   | tanmay | 48500 | 1990   |gurgaon | 2 
3   | david | 49000 | 2001   | goa  | 2 
4   | null | null  | null   | null | null 
5   | null | null  | null   | null | null 
6   | dannial | 52185 | 2010   | kanpur | 6 

И есть вторая таблица managerEmp

create table managerEmp(
    employeId int identity(1,1) not for replication not null, 
    family_member varchar(20), 
    wife_name varchar(20), 
    age int 
) 

У меня есть некоторые данные в этой таблице:

employeId | family_member |wife_name | age 
-------------------------------------------- 
1  | 6    |mrs.kapoor| 31 
2  | 5    |mrs.mishra| 25 
3  | null   |nll  | null 
4  | 2    |mrs.khan | 21 
5  | 4    |mrs.bajaj | 22 

Теперь я хочу выбрать необычные данные из этой таблицы. Результат будет выглядеть так:

M_name | Salary | city | wife_name | age 
----------------------------------------- 
null | null | null | mrs.khan | 21 
null | null | null | mrs.bajaj | 22 
dannial| 52185 |kanpur| null  |null 
+4

Что такое "необычные данные"? –

+2

Я должен сказать, что ваш дизайн базы данных или ваши данные действительно плохие. В обеих таблицах есть только NULL-строки. Также сохранение возраста вместо дня рождения ... когда вы его обновляете? –

+0

Похоже, что редкость в том, что данные жены отсутствуют в таблице managerEmp для менеджера или когда данные менеджера являются NULL в таблице менеджеров. – DhruvJoshi

ответ

1

запросов на основе вашего выхода:

SELECT M_name,Salary,city,wife_name,age FROM managers LEFT JOIN managerEmp 
ON managers.ManagerId =managerEmp.employeId 
WHERE M_name is NULL OR employeId IS NULL 

Ссылка на SQL скрипку http://sqlfiddle.com/#!6/e1776/1