Я пытаюсь создать запрос, который будет возвращать все строки, где есть разница в любом поле после второго столбца, на основе динамической комбинации значений предшествующего поля.
Сценарий будет похож на это:
Я собираюсь задать кому-то ряд вопросов о продукте, который они хотят купить. После определения типа товара, который они хотят купить, я бы задала другой вопрос. В зависимости от ответа, который они дают, я могу задать другой вопрос, но этот вопрос может отличаться в зависимости от первого ответа.
Вот пример набора данных:
Item|Question1|Answer1|Question2|Answer2|Question3|Answer3
123|Front Door|Material|Wood|Type of Wood|Oak|Color|Red
456|Front Door|Material|Wood|Type of Wood|Oak|Color|Tan
789|Front Door|Material|Wood|Type of Wood|Oak|NULL|NULL
321|Front Door|Material|Steel|Type of Steel|T304|NULL|NULL
654|Front Door|Material|Steel|NULL|NULL|NULL|NULL
987|Closet Door|Material|Wood|Type of Wood|Oak|Color|Red
741|Closet Door|Material|Wood|Type of Wood|Oak|Color|Tan
852|Closet Door|Material|Steel|Type of Steel|T304|NULL|NULL
963|Closet Door|Material|Steel|Type of Steel|T304|NULL|NULL
Я хочу вернуть все строки, в которых есть расхождение в порядке вопросов, основанных на предыдущем ответе, поэтому вернутся следующие строки:
123|Front Door|Material|Wood|Type of Wood|Oak|Color|Red
456|Front Door|Material|Wood|Type of Wood|Oak|Color|Tan
789|Front Door|Material|Wood|Type of Wood|Oak|NULL|NULL
Это потому, что я либо забыл спросить «Цвет» для 789, либо мне не нужно спрашивать «Цвет» для 123 и 456
321|Front Door|Material|Steel|Type of Steel|T304|NULL|NULL
654|Front Door|Material|Steel|NULL|NULL|NULL|NULL
Это потому, что я забыл спросить «Тип стали» для 654, или мне не нужно спрашивать его для 321.
У меня есть запрос, чтобы определить, есть ли разница в порядке вопросов, но я не могу понять, как обосновать его на ответе на предыдущий вопрос.
Заранее спасибо!