Выбор всех значений из строки на основе одного отчетливого столбца
-
27-09-2019 - |
Вопрос
Я просматривал форумы A, пытаясь найти решение моего вопроса.
У меня есть таблица в SQL Server 2000 называется result
со следующими данными;
City Price DepDate RetDate
Barcelona 145 2010-05-15 2010-05-20
New York 400 2010-06-20 2010-06-20
Barcelona 160 2010-05-17 2010-05-22
New York 325 2010-05-10 2010-05-18
Istanbul 250 2010-06-22 2010-06-27
Я хочу запросить это в SQL Server 2000, так что все столбцы возвращаются, но это отличается / Uniqe в городе, и отображается только самая низкая цена.
Так что я хотел бы, чтобы это вернуть следующее
Barcelona 145 2010-05-15 2010-05-20
New York 325 2010-05-10 2010-05-18
Istanbu 250 2010-06-22 2010-06-27
Я не могу понять, как это сделать, я должен быть легко, и я уверен, что я буду чувствовать себя глупым, когда представляется решение.
Кто-нибудь знает как это сделать?
БРГДС, Эрик
Решение
SELECT
A1.*
FROM
[TableName] A1
INNER JOIN
(
SELECT
A.City
, A.Price
, MIN(A.DepDate) AS DepDateMin
FROM
[TableName] A
INNER JOIN
( SELECT
City
, MIN(Price) AS PriceMin
FROM
[TableName]
GROUP BY City
) B ON A.City = B.City AND A.Price = B.PriceMin
GROUP BY
A.City, A.Price
) B1 ON A1.City = B1.City AND A1.Price = B1.PriceMin AND A1.DepDate = B2.DepDateMin
Другие советы
Попробуй это
select City,Price,DepDate,,RetDate from Your_table a
where a.Price = (select min(Price) from Your_table b
where a.city = b.city group by city)
Не связан с StackOverflow