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

Откуда:
Сообщений: 7
Нужна помощь в создании запроса, хранимой процедуре.
Задача:при выборе определенных студентов выводить количество пропусков.
Например: может быть только 1 студент, а может быть и 20 и 5 и 2 например Сидоров и Сергеев, и так из списка... Выборка студентов хаотична.


Таблица (пример):

ид Имя Пропусков
1 Иванов 10
2 Сидоров 12
3 Петров 9
4 Сергеев 5
5 Ивановна 25
6
7
8
9

Спасибо.
5 окт 15, 14:11    [18236437]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь в создании запроса  [new]
Glory
Member

Откуда:
Сообщений: 104751
carik
и так из списка...

И где находится этот список ?
5 окт 15, 14:13    [18236444]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь в создании запроса  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
carik
может быть только 1 студент, а может быть и 20 и 5 и 2

Как думаете передавать список студентов в процедуру?
5 окт 15, 14:13    [18236448]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь в создании запроса  [new]
0-0
Guest
carik,

вы пробовали это сделать и что-то не получилось?
Напишите, не томите нас в ожидании.
5 окт 15, 16:14    [18237166]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь в создании запроса  [new]
carik
Member

Откуда:
Сообщений: 7
Не знаю как решить эту задачу, по этому написал сюда. Ещё раз по сути вопроса - производиться выбор студентов (хаотично), для подсчета количества их пропусков. Процесс выбора нужно сделать динамичным, что бы не прописывать в запросе фамилии или код студента, а выборка автоматически подставлялась (через параметр) в фильтр.
Имел ввиду - и так по списку - то что в примере таблице указал 9 строк, а их может быть 100+. Все поля в одной таблице.
5 окт 15, 17:19    [18237504]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь в создании запроса  [new]
Mairos
Member

Откуда:
Сообщений: 555
carik, [url=]https://msdn.microsoft.com/ru-ru/library/bb510489(v=sql.100).aspx[/url]

Там..
USE AdventureWorks;
GO

/* Create a table type. */
CREATE TYPE LocationTableType AS TABLE 
( LocationName VARCHAR(50)
, CostRate INT );
GO

/* Create a procedure to receive data for the table-valued parameter. */
CREATE PROCEDURE usp_InsertProductionLocation
    @TVP LocationTableType READONLY
    AS 
    SET NOCOUNT ON
    INSERT INTO [AdventureWorks].[Production].[Location]
           ([Name]
           ,[CostRate]
           ,[Availability]
           ,[ModifiedDate])
        SELECT *, 0, GETDATE()
        FROM  @TVP;
        GO

/* Declare a variable that references the type. */
DECLARE @LocationTVP 
AS LocationTableType;

/* Add data to the table variable. */
INSERT INTO @LocationTVP (LocationName, CostRate)
    SELECT [Name], 0.00
    FROM 
    [AdventureWorks].[Person].[StateProvince];

/* Pass the table variable data to a stored procedure. */
EXEC usp_InsertProductionLocation @LocationTVP;
GO
5 окт 15, 17:24    [18237519]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь в создании запроса  [new]
0-0
Guest
carik,

автор
Задача:при выборе определенных студентов выводить количество пропусков.

Представляю на кулинарном форуме вопрос:
при выборе определенных ингридиентов нужно получить количество готовых блюд.

Ну, раз задача описана так, как описана, то вот вам:
select ид, Имя, Пропуски from Таблица
where exists(select 1 from Таблица_прогульщиков where Таблица_прогульщиков.Имя = Таблица.Имя)
5 окт 15, 17:26    [18237538]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь в создании запроса  [new]
Glory
Member

Откуда:
Сообщений: 104751
carik
Ещё раз по сути вопроса - производиться выбор студентов (хаотично),

еще раз вопрос - сервер то как узнает об этом выборе ?

carik
а выборка автоматически подставлялась (через параметр) в фильтр

И как будет выглядеть этот параметер ?
5 окт 15, 20:42    [18238239]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить