заранее благодарю за любой совет, который вы можете получить.
Я впервые пытаюсь сделать запрос из столбчатой базы данных, поэтому я немного не уверен относительно того, как написать запрос, который дает мнерезультаты, которые я ищу.
Таблица ("census_data"), к которой я обращаюсь, имеет следующие типы значений (всего 41 строка):
plan_id ssn_key field value
1 111111111 DOB 1732-02-22
1 111111111 DOR 1830-11-02
1 111111111 FNAME GEORGE
1 111111111 LNAME WASHINGTON
1 863283322 DOR 2020-03-22
Какк вашему сведению, в некоторых случаях у нас могут быть только чьи-либо SSN и DOB, но не их FNAME, LNAME, DOR (дата выхода на пенсию) и т. д.
Сейчас мы работаем с фиктивными данными и пытаемся получитьЗапросы на месте, когда мы начинаем работать с крупномасштабным набором данных.
Мы знаем, что в некоторых случаях в реальном наборе данных будут нелогичные данные, такие как Дата выхода на пенсию («DOR»)), что произойдет в будущем (при условии, что для наших правил значение 'DOR' должно иметь место в прошлом, чтобы оно было действительным).
Мы написали несколько запросов, которые дали нам результаты, которыемы ищем, такие как:
1) Дайте нам дни рождения всех людей с FNAME = 'GEORGE' и LNAME = 'WASHINGTON'
select [value] from [testdb3].[dbo].[census_data]
where ssn_key in (select ssn_key from census_data where field='LNAME'
and value='WASHINGTON' and ssn_key in
(select ssn_key from census_data where field='FNAME'
and [value]='GEORGE')) AND field='DOB'
2) Дайте нам все SSN людей с датой выхода на пенсию после сегодняшнего дня
select [plan_id], [ssn_key], [field], [value]
from [testdb3].[dbo].[census_data] as
cd where cd.field = 'DOR'and value > GETDATE()
Напоминаем, что значения SSN находятся во 2-м столбце нашей таблицы, тогда как значения DOB, FNAME, DOR, LNAME и т. Д. Находятся в 4-м столбце нашей таблицы.
И вот где мы в тупике.Мы пытаемся написать запрос, который дает нам имя любого человека с датой выхода на пенсию больше, чем сегодня.Мы потратили несколько часов, пытаясь придумать что-то, что работает, и до сих пор были пустыми.Если у кого-то есть мысли по поводу того, каким будет код, пожалуйста, дайте мне знать, я был бы очень признателен.Спасибо.