SQL-запрос для получения строк DISTINCT при левом соединении - PullRequest
0 голосов
/ 20 апреля 2011

Я разрабатываю запрос t-sql для возврата левого соединения двух таблиц, но когда я просто выбираю записи из таблицы A, это дает мне только 2 записи.Проблема, однако, в том, что когда я ушел, присоединяйся к таблице B, она дает мне 4 записи.Как я могу уменьшить это до двух записей?

Одна проблема, однако, состоит в том, что мне известен только один PK / FK для связи этих двух таблиц.

Ответы [ 2 ]

2 голосов
/ 20 апреля 2011

Поле, которое вы используете для объединения, должно существовать более одного раза в таблице B - поэтому в соединении возвращается несколько строк.Чтобы уменьшить количество строк, вам нужно будет либо добавить дополнительные поля в объединение, либо добавить предложение where для отфильтровывания ненужных строк.

В качестве альтернативы вы можете использовать оператор GROUP BY для группировки строк, но это может быть не то, что вам нужно.

0 голосов
/ 20 апреля 2011

Помните, что при левом соединении вы получаете пустые поля из объединенной таблицы.Также вы можете использовать выбор (отличный), но я не вижу, что вы выпускаете.Можете ли вы дать нам более подробную информацию?

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