Member 10028394 Ответов: 1

Сервер SQL максимальное значение строки вам


CustomerID   StartWeight   EndWeight    Charges    AddWeight    AddCharges
1              0.00          0.50        50          0            0
1              0.60          1.00        100         1            70
2              0.00          0.50        60          0            0
2              0.60          1.00        110         1            80
3              0.00          1.00        120         1            100



выберите * из таблицы, где CustomerID=1
это показывает результат первых двух строк.

Что я уже пробовал:

select * from table where CustomerAccountID=1 and EndWeight=(select MAX(EndWeight) from table)


Это показывает нулевое значение в то время как я хочу показать вторую строку

David_Wimbley

EDIT: я пропустил ваше условие идентификатора клиента

1 Ответов

Рейтинг:
1

David_Wimbley

Не совсем уверенный в том, что проблема заключается в вашем запросе/почему вы получаете неверные данные, я издевался над вашим набором данных, и запрос дает ожидаемые результаты.

DECLARE @CpMaxValueRow TABLE (
	CustomerId INT NULL,
	EndWeight FLOAT NULL
);

INSERT INTO @CpMaxValueRow
        ( CustomerId, EndWeight )
VALUES  ( 1, -- CustomerId - int
          0.5  -- EndWeight - float
          )
INSERT INTO @CpMaxValueRow
        ( CustomerId, EndWeight )
VALUES  ( 1, -- CustomerId - int
          1  -- EndWeight - float
          )
INSERT INTO @CpMaxValueRow
        ( CustomerId, EndWeight )
VALUES  ( 2, -- CustomerId - int
          .5  -- EndWeight - float
          )
INSERT INTO @CpMaxValueRow
        ( CustomerId, EndWeight )
VALUES  ( 2, -- CustomerId - int
          1  -- EndWeight - float
          )
INSERT INTO @CpMaxValueRow
        ( CustomerId, EndWeight )
VALUES  ( 2, -- CustomerId - int
          1  -- EndWeight - float
          )

		  SELECT * FROM @CpMaxValueRow AS A WHERE CustomerId = 1 AND EndWeight = (SELECT MAX(B.EndWeight) FROM @CpMaxValueRow AS B)


Member 10028394

ваш запрос работает нормально но когда я применяю этот запрос в соответствии с нашей таблицей он не работает

David_Wimbley

Учитывая, что у меня нет доступа к вашим данным или вашей схеме, вам нужно выяснить, чем отличаются результаты этого запроса от того, что вы получаете против своей обычной БД.