2011-02-02 4 views
0

Я хочу получить остаток после деления двух таблиц.
Пример:
table1 содержитsql-server Как разделить две таблицы?

name roll city 
gran  1 mumbai 
raj  2 kolkata 
mahesh 3 delhi 

Таблица 2 содержит

roll 
2 
3 

Тогда выход должен быть

name city 
raj kolkata 
mahesh delhi 

обновление: Я не хочу, чтобы получить выход после подачи имена столбцов. Я хочу, чтобы результат вышел после фильтрации только один столбец

+0

Вы имеете в виду Relational Division? Указанный результат не является результатом реляционного деления. Это больше похоже на присоединение ко мне. Не могли бы вы объяснить логику вашего примера, пожалуйста. – sqlvogel

+0

Вопрос непонятен. Какие столбцы определены для двух таблиц? Я предполагаю, что вы говорите, что таблица 1 имеет четыре строки, а таблица 2 имеет три строки, а результат отражает сопоставление трех строк таблицы 1 с строками в таблице 2. Но неясно, содержат ли эти таблицы один столбец, скажем, типа varchar, или, если в таблице 1 есть три столбца, а в таблице 2 - один столбец. Также следует уточнить, есть ли в таблице 1 для каждой строки в таблице 1 не более одной строки или если одна и та же строка в таблице 2 может соответствовать более одной строке в таблице 1. – hardmath

+0

Да Ее истина Я хочу присоединиться к таблицам. вы можете понять это лучше, если вы создадите две цифры круга и поставьте данные. – PraveenKullu

ответ

1

это должно работать

select name,city from table_1 where 
roll in (select roll from table_2) 
+0

Спасибо, сэр, но я хотел получить результат после объединения двух таблиц без указания имен столбцов. – PraveenKullu

0
select name, city from table1 
where roll in (select roll from table2) 
1

Вам не нужно вложенным SELECT, когда вы можете просто использовать INNER JOIN

SELECT name, city 
FROM table1 
INNER JOIN table2 
    ON table1.roll = table2.roll 
+0

Я хотел бы, чтобы выход мог появиться без указания имен столбцов – PraveenKullu

Смежные вопросы