У меня есть таблица данных, которая содержит 4 поля [UpdatedDate]
, [DoggoName]
, [DoggoType]
и [DoggoAge]
.
[DoggoName]
всегда будет иметь те же [DoggoType]
и [DoggoAge]
значения.
UpdatedDate DoggoName DoggoType DoggoAge
1-Jan a Labrador 1
1-Jan b Yorkshire 2
1-Jan c German Shepherd 3
1-Jan e Bull Terrier 2
2-Jan a Labrador 1
2-Jan d Golden Retriever 1
2-Jan e Bull Terrier 2
2-Jan f Poodle 3
3-Jan a Labrador 1
3-Jan b Yorkshire 2
3-Jan c German Shepherd 3
Я хочу выбрать отдельную [DoggoName]
между 2 [UpdatedDate]
и их соответствующими [DoggoType]
и "[DoggoAge]".
До сих пор мне удалось получить базовый SQL-запрос, чтобы выделить отдельную [DoggoName]
. Затем печать в Excel выполняется через строки [DoggoName]
для [DoggoName]
двух других столбцов. Мне было интересно, есть ли один запрос, который пропускает мои утомительные циклы.
Мой SQL-запрос:
SELECT DISTINCT [DoggoName]
FROM [DataTable]
WHERE [UpdatedDate] BETWEEN #1-Jan-2018# AND #2-Jan-2018#
Мой конечный результат должен выглядеть следующим образом:
DoggoName DoggoType DoggoAge
a Labrador 1
b Yorkshire 2
c German Shepherd 3
e Bull Terrier 2
d Golden Retriever 1
f Poodle 3
Вы можете использовать DISTINCT
для select
столбцов проверки.
SELECT DISTINCT DoggoName,DoggoName,DoggoAge
FROM DataTable
Если я уверен, вы можете использовать следующий запрос
SELECT DISTINCT [Doggoname], Doggotype, Doggo_age
from datatable where [UpdatedDate] BETWEEN #1-Jan-2018# AND #2-Jan-2018#
Кроме того, вы можете использовать следующее, поскольку существует одна запись, доступная для каждого типа Doggotype
Select distinct doggoname , max(doggotype) as doggotype, max(age) as age from
datatable
where updateddate between #1-Jan-2018# AND #2-Jan-2018#
group by 1;
quit;