Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите написать селект  [new]
SergeyV
Member

Откуда:
Сообщений: 79
Есть таблица вида
ID int, LineN int, REM varchar(100)
как в выборке для всех записей с одинаковым LineN установить один ID - максимальный для данного LineN при этом ID в таблице не уникальный. Изменять данные в основной таблице нельзя, т.е. желательно сделать это во вьюхе.

например имеем:
1 1 test1
2 1 test2
2 2 test3
4 2 test4

должны получить:
2 1 test1
2 1 test2
4 2 test3
4 2 test4
29 апр 04, 17:14    [657871]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать селект  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
select max(ID), LineN

from table
group by LineN


Только с REM у вас странности - вроде привязано к ID, но в результате - ни к чему.

-- Tygra's --
29 апр 04, 17:18    [657879]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать селект  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
select (select max(col1) from mytab t1 where t1.col2 = t.col2) col_1, col2, col3 from mytab t group by col2, col3


select t1.col2, t.col1, t.col3 from mytab t join (select max(col1), col2 from mytab group by col2) t1 on t1.col2 = t.col2



для спящего время бодрствования равносильно сну
29 апр 04, 17:19    [657882]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать селект  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Select t2.M_ID, t1.LineN, t1.REM

From tbl t1 Inner Join
(Select Max(ID) as m_ID, LineN
From tbl
Group By LineN) as t2
On t1.LineN = t2.LineN


?
29 апр 04, 17:19    [657883]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать селект  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
select b.id, a.LineN, a REM

from Table a
inner join (
select
max(id) as id,
LineN
from Table
group by LineN) b on a.LineN = b.LineN

?
29 апр 04, 17:19    [657885]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать селект  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
А какое значение брать из REM varchar(100)? Что -то в вашем результирующем наборе есть запись

2 1 test1 


которой нет в исходном?

Если все равно какую ,то

SELECT

LineN,
MAX(ID) AS ID,
MIN(REM) AS REM
FROM
Table1
GROUP BY
LineN
29 апр 04, 17:21    [657891]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать селект  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
2 Гавриленко Сергей Алексеевич

29 апр 04, 17:21    [657892]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать селект  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
2paparome:
Ага.
29 апр 04, 17:22    [657893]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать селект  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
ето из упражнения откуда-то... или экзамена? ю)))


для спящего время бодрствования равносильно сну
29 апр 04, 17:39    [657934]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить