внутреннее соединение в двух таблицах sqlserver

В настоящее время я работаю, sqlи я хочу научиться объединениям. Я начал, inner joinи у меня есть очень простой вопрос:

select distinct brandname from zonerpm where 
trainer=@tname and companyname=(select id from companydetails where comname=@companyname)

Я хочу присоединиться к заявлению, и я хочу узнать, как работают объединения.

Я хочу узнать, как это работает, и stackoverflow - лучшая платформа для этого, я могу присоединиться, когда оператор имеет одно предложение where, но этот оператор имеет два аргумента where, где он находится здесь, где я был поражен.

sql-server,join,

0

Ответов: 3


1 принят

Вы используете подзапрос, sql рассматриваете подзапрос, поскольку другой подзапрос запроса не является хорошей идеей, требуется много времени, а не соединение. если у вас есть столбец в brandnameтаблице, содержащий companydetailsтаблицу, то foreignkey вы можете попробовать выполнить запрос ниже.

select distinct zonerpm.brandname,companydetails.id from zonerpm 
inner join companydetails ON zonerpm.company_id=companydetails.id
where trainer=@tname 

1
   select distinct z.brandname from zonerpm z left join companydetails cd 
   on cd.companyname=z.companyname where  
   z.trainer=@tname;

z - это имя объекта для zonerpm cd - это имя объекта для данных компанииdetails


1

select distinct brandname from zonerpm inner join companydetails on companydetails.id=zonerpm.companyname where companydetails.comname=@companyname and zonerpm.trainer=@tname

Вот как вы должны делать это, один или несколько столбцов должны быть одинаковыми во внутреннем соединении

SQL-сервер, соединение,
Похожие вопросы