powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как правильно написать функцию?
5 сообщений из 5, страница 1 из 1
как правильно написать функцию?
    #39892411
sk187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, необходимо написать функцию возвращающую число мужчин и женщин. Как я понял, скалярные функции возвращают только 1 значение, а табличные функции выводят данные из таблиц, не проводя вычислений для возвращаемой таблицы. Так какую тогда функцию использовать для подобных ситуаций, когда необходимо выводить не 1 значение.
Все находится в одной таблице, столбец "Пол" содержит либо "М" либо "Ж". Необходимо просто вывести эти два подсчитанных значения. При данном коде вернет лишь последний return. Подскажите, пожалуйста, спасибо.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ALTER function [dbo].[personal2] ()
returns float
AS
begin
declare @m float, @j float
set @m = 
(select COUNT(*) from СОТРУДНИКИ where Пол= 'М')
set @j = 
(select COUNT(*) from СОТРУДНИКИ where Пол= 'Ж')
return (@m)
return (@j)
end  
...
Рейтинг: 0 / 0
как правильно написать функцию?
    #39892418
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sk187,

так же, только returns table
и
return (select @m m, @j j)
...
Рейтинг: 0 / 0
как правильно написать функцию?
    #39892420
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sk187,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE FUNCTION dbo.F()
RETURNS TABLE
AS
RETURN
SELECT
	Male	= SUM(CASE WHEN Пол= 'М' THEN 1 ELSE 0 END),
	Female	= SUM(CASE WHEN Пол= 'Ж' THEN 1 ELSE 0 END) 
FROM СОТРУДНИКИ
GO



а returns float это если вдруг не совсем м/ж?
...
Рейтинг: 0 / 0
как правильно написать функцию?
    #39892424
sk187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,
Спасибо!
...
Рейтинг: 0 / 0
как правильно написать функцию?
    #39892425
sk187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,
Спасибо!
float это да, на будущее)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как правильно написать функцию?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]