Извините, если этот вопрос уже ответил ранее. Я охотился, но не мог найти.Как присоединиться к двум таблицам на основе отсутствующих значений в одной таблице?
Проблема:
Я использую SQL Server 2012 и у меня есть две таблицы (TableA
и TableB
), как показано ниже
таблицы А
+-------+--------+
| ItemA | SeqNoA |
+-------+--------+
| D | 1 |
| A | 0 |
| Z | 0 |
| B | 4 |
| A | 0 |
| K | 6 |
+-------+--------+
TableB
+-------+--------+
| ItemB | SeqNoB |
+-------+--------+
| A | 1 |
| D | 2 |
| C | 3 |
| A | 4 |
| B | 5 |
| J | 6 |
+-------+--------+
TableA
имеет недостающие (нулевые) значения в некоторых строках col SeqNo
, тогда как те же значения присутствуют в столбце SeqNo
от TableB
. Мне нужно найти способ присоединиться к этим таблицам таким образом, чтобы в итоге я получил приведенные ниже значения. Это соединение может быть либо присоединиться запрос некоторых видов или, возможно, даже создание совершенно новой таблицы на основе этих двух таблицы
+-------+--------+-------+
| ItemA | SeqNoA | ItemB |
+-------+--------+-------+
| D | 1 | A |
| A | 2 | D |
| Z | 3 | C |
| B | 4 | A |
| A | 5 | B |
| K | 6 | J |
+-------+--------+-------+
Что такое соединение D в TableB с A в TableA? – Taemyr
Столбец Seqno должен быть общим фактором между двумя таблицами, но из-за некоторого программного обеспечения goofup в этом столбце отсутствуют некоторые записи в TableA. –
Если вы должны были менять строки 2 и 3 в TableA, ожидаете ли вы результат изменение итогового стола? Если да: тогда у вас есть настоящая проблема. Вообще говоря, порядок не сохраняется в базе данных, поэтому эти два случая неразличимы, поэтому не должны давать вам другого результата. Если нет: по каким критериям эти строки будут соответствовать тогда? – Cruncher