У меня есть пара таблиц SQL-сервера.
P содержит идентификатор и имя.
PR содержит id, процентную ставку, tiernumber, fromdate, todate и P.id. PR может содержать много строк, перечисленных для каждого p.id / уровня. (Уровни - это список тарифов, которые продукт может иметь в любой заданный период.)
Например: продукт 1 уровня 1 начинается с 01.01.2008 по 01.01.2009 и имеет 6 ставок, показанных по 1 строке на ставку. Продукт 1 уровня 2 начинается с 1/2/2009 и т. Д. И т. Д.
Мне нужно представление об этом, которое показывает P.name и PR.tiernumber и даты ... НО я хочу, чтобы только одна строка представляла уровень.
Это просто:
SELECT DISTINCT P.ID, P.PRODUCTCODE, P.PRODUCTNAME, PR.TIERNO,
PR.FROMDATE, PR.TODATE, PR.PRODUCTID
FROM dbo.PRODUCTRATE AS PR INNER JOIN dbo.PRODUCT AS P
ON P.ID = PR.PRODUCTID
ORDER BY P.ID DESC
Это дает мне точные правильные данные ... Однако: это не позволяет мне видеть PR.ID, поскольку это сведет на нет различное.
Мне нужно ограничить набор результатов, потому что пользователю нужно просто увидеть список уровней, мне нужно, чтобы PR.ID отображал все данные.
Есть идеи?