У меня есть таблица, которая сохраняет возможные состояния других таблиц (сущностей). Но теперь мне нужно найти эквивалентность состояний между двумя объектами. Структура таблицы что-то вроде этогоSQL select column эквивалентность
ID TableID StateValue StateDefinition StateDescription
================================================================
1 1 1 Created Just created
2 1 2 Dropped Just Dropped
3 2 1 Created Just Created
4 2 2 Aproved Passed the revision
5 2 3 Dropped Just dropped
Я хочу, чтобы получить эквивалент (сравнивая текст состояния), который в итоге получить это:
TableID1 StateValue1 TableID2 StateValue2 StateDefinition
=============================================================================
1 1 2 1 Created
1 2 2 3 Dropped
Мой вопрос, как это может быть сделано? ?
Фиксированный 't1.TableID = 1' и' t2.TableID = 2' части не обобщают. –
Действительно ли это возвращает результат, о котором спрашивал ОП? Соединение t1.StateValue = t2.Statevalue означает, что вторая строка в его результирующем наборе не возвращается. –
@NWest Вы правы, я этого не заметил. Я думаю, что предложение WHERE должно быть: 'где t1.StateDefinition = t2.StateDefinition'. Я принял * «эквивалентность состояний» *, чтобы они были равны. – RedFilter