Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Помогите, пожалуйста, написать запрос

$
0
0
Здравствуйте, участники форума.

Прошу у Вас помощи в составлении SQL запроса.

Задача выглядит так:

1)Есть таблица Students.
В ней, среди прочих полей, есть поле StdID - int - ключевое поле таблицы.

2)Есть таблица Results.
с полями
ResID - int (ключевое поле таблицы),
StudentID - int (связь с полем StdID таблицы Students),
ResNumber - int,
ResType - varchar(10) (данное поле может принимать значения 'Тип-1' или 'Тип-2'),

3)Сама связь данных между таблицами выглядит так:
Одна строка с ключом StdID в таблице Students может быть связана:
- c одной строкой в таблице Results со значением 'Тип-1' в поле ResType,
- c одной строкой в таблице Results со значением 'Тип-2' в поле ResType,
- c двумя строками в таблице Results со значениями 'Тип-1' и 'Тип-2' в поле ResType,
- или вообще не иметь связанных строк в таблице Results.

4)Необходимо получить результат:
StudentID - StudentID из таблицы Students
FullResult - поле varchar(), вычисляемое по таблице Rusults и состоящее из двух слагаемых:

FullResult = '№'+Number(строки где ResType='Тип-1')+' Тип-1' +
'№'+Number(строки где ResType='Тип-2')+' Тип-2'

если для конкретного StudentID строки сResType = 'тип-1' нет, то первая часть слагаемого отсутствует,
если для конкретного StudentID строки сResType = 'тип-2' нет, то вторая часть слагаемого отсутствует,
если для конкретного StudentID строк сResType = 'тип-1' и 'тип-2' нет, то FullResult = NULL.

Viewing all articles
Browse latest Browse all 7251

Trending Articles