внутреннее соединение а и б в с - PullRequest
0 голосов
/ 11 октября 2019

Я хочу отобразить все строки в таблице a, b , где b.id = C.BId , но я не могу вставить C в свой код: (

select * 
from ItemData a 
inner join Client b 
    on a.Id = Items.ItemsID 
where b.Id =1

ошибка

Сообщение 4104, уровень 16, состояние 1, строка 1
Не удалось связать многоэлементный идентификатор "Items.ItemsID".

рабочий код:

select * 
from ItemData a 
inner join Items b 
    on a.Id = b.ItemsID 
where b.ClientID =1

возврат:

Id  IGender IDetailing  ITipe   IPrice  IAmount SaveItem    Id  ClientID    ItemsID
1   man     blak        ginz    14.2    0        1          1   1           1
2   wiman   oreng       shirts  34.9    0        0          2   1           2

Я не хочу, чтобы элементы добавлялись, как вы видите Id-ClientID-ItemsID но я хочу добавить всю таблицу информации о клиенте в той же строке первого выбора, а не таблицы столярных изделий (элементы)

Ответы [ 3 ]

1 голос
/ 11 октября 2019

Я думаю, вы пытаетесь это сделать.

select *, c.Id, c.ClientId, c.ItemsID 
from ItemData a 
inner join Items b on a.Id = b.ItemsID 
left join Client c on c.ItemsID = b.Id
where b.ClientID =1

Поскольку вы используете информацию о клиенте, вы должны использовать inner join

select *, c.Id, c.ClientId, c.ItemsID 
from Client c
inner join Items b on c.ItemsID = b.Id
inner join ItemData a on a.Id = b.ItemsID  
where b.ClientID =1
1 голос
/ 11 октября 2019

ПРИМЕР:

выберите * из Student_Details --Consider В качестве таблицы


выберите * из Book_Transaction --Consider As b table


выберите * из Книги - Рассмотрите как таблицу


Пример запроса:

select a.Name,b.BookId,c.Title  from  Student_Details a **inner join**
 Book_Transaction B on a.StudentId=b.StudentId **inner join**  Books C on B.BookId=**c.BookId**
0 голосов
/ 11 октября 2019

Попробуйте это:

Внутреннее присоединение a, b, c

Затем попробуйте применить условие C.Bid без присоединения, вы не можете использоватьТаблица или ее псевдоним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...