У меня есть список клиентов, которых я пытаюсь получить, но не совсем уверен, правильно ли я это делаю.У меня есть около 20 тысяч записей, и я надеюсь, что сделаю это правильно.В основном у меня есть 2 разные клиентские таблицы, которые принадлежат двум разным приложениям, но хранятся в одной базе данных.
Клиент, Джон Доу (бывший), может находиться в обеих клиентских таблицах с разными идентификаторами клиента, однако, иметь уникальный идентификатор, который одинаков в обеих таблицах.Так, например, Джон Доу может иметь clientID = 7 в tbl1 и ClientID = 11 в tb2, но в обеих таблицах клиентов UniqueID равен 129009.
Вот базовая структура.Это первые 2 таблицы.
tblClient1 tblServiceClient1
ClientID UniqueID ClientID ClientServiceType
17 12345 17 8
15 34567 15 8
Второй набор таблиц -
tblClient2 tblClientService2
ClientID UniqueID ClientID ClientServiceType
58 12345 58 8
89 34567 89 7
Я надеюсь получить список клиентов из обоих наборов таблиц, где:-Клиент должен существовать в tblClient1 & tblClient2 -Клиент должен иметь ClientServiceType = 8 в tblClientServiceType1 & tblClientServiceType2
вот что я надеюсь достичь:
ClientID1 ClientID2 UniqueID
17 58 12345
присоединиться ятаблицы, в которых клиенты в обеих таблицах ClientID имеют одинаковый UniqueID, и оба клиента имеют ClientSErviceType = 8
Я вижу только этого одного клиента, потому что другой клиент имеет ClientServiceType = 7
Select tblClient1.ClientID, tblClient2.ClientID, tblClient1.UniqueID
From tblClient1
inner join tblClientService1 on tblClient1.ClientID = tblClientService1.ClientID
inner join tblClient2 on tblClient1.UniqueID = tblClient2.UniqueID
inner join tblServiceClient2 on tblClient2.ClientID = tblServiceClient2.ClientID
Group By tblClient1.ClientID, tblClient2.ClientID, tblClient1.UniqueID
Having tblServiceClient1.ClientServiceType = 8 and tblServiceClient2.ClientServiceType=8