SQL запрос, чтобы получить адрес клиента - PullRequest
0 голосов
/ 27 марта 2019

У меня есть две таблицы, т.е. table A и table B. Table B имеет первичный ключ table A в виде столбца Id.

Я хочу получить имя и адрес из двух таблиц. enter image description here

Как мне этого добиться?

Я пытался:

select name,address from tableA join tableB on tableA.id=tableB.id

1 Ответ

0 голосов
/ 27 марта 2019

Ваш собственный ответ правильный.

Вот таблицы, которые вы описали со связями:

Your basic as ever table diagram

Я заполнил таблицынекоторые руководства и копии вставили свой собственный SQL

(затронуто 50 строк)

Попробуйте эту проверку tableA имеет значения

Select COUNT(*) from [tableA]

И tableB

Select COUNT(*) from [tableB]

, если они оба имеют количество> 0 Сколько элементов в tableA имеют хотя бы одно значение в tableB

--Show all the raw data
Select tableA.*,(select count(*) from tableB where tableA.id = tableB.id)VolumeOfAddresses
FROM tableA
--or Group and count it
Select VolumeOfAddresses,count(*) NameCount
FROM (Select tableA.*,(select count(*) from tableB where tableA.id = tableB.id)VolumeOfAddresses
FROM tableA) a
group by a.VolumeOfAddresses
--or express that as a string of text for simplicity
Select cast(count(*) as varchar(10)) + ' Names exists which each have an address COUNT of ' + cast(VolumeOfAddresses as varchar(10))A_TextString
FROM (Select tableA.*,(select count(*) from tableB where tableA.id = tableB.id)VolumeOfAddresses
FROM tableA) a
group by a.VolumeOfAddresses

Пример результата из последнегозапрос в моем тестировании показывает:

  • 50 Существуют имена, каждое из которых имеет адрес COUNT 0
  • 50 Имена, каждое из которых имеет адрес COUNT 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...