Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1

Пользовательская функция возвращает информацию о дисках с одинаковым названием альбома, но разными исполнителями

28.09.2020, 14:59. Показов 2064. Ответов 5

Студворк — интернет-сервис помощи студентам
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
--Запрос на создание базы данных MusicDatabase05092020dz4mod2
use [master];
go
 
if db_id('MusicDatabase05092020dz4mod2') is not null
begin
    drop database [MusicDatabase05092020dz4mod2];
end
go
 
create database [MusicDatabase05092020dz4mod2];
go
 
use [MusicDatabase05092020dz4mod2];
go
 
create table [Artists]
(
    [Id] int not null identity(1, 1) primary key,
    [Name] nvarchar(100) not null unique check ([Name] <> N'')
);
go
 
create table [Albums]
(
    [Id] int not null identity(1, 1) primary key,
    [Name] nvarchar(100) not null check ([Name] <> N''),
    [Artist] int NOT NULL,
    FOREIGN KEY(Artist) REFERENCES Artists(id),
    [Year] int not null
);
go
 
create table [Songs]
(
    [Id] int not null identity(1, 1) primary key,
    [Name] nvarchar(100) not null check ([Name] <> N''),
     [Album] int NOT NULL,
    FOREIGN KEY(Album) REFERENCES Albums(id)
);
go
--Запросы на заполнение базы данных MusicDatabase05092020dz4mod2: 
--Таблица  Artists
USE MusicDatabase05092020dz4mod2
INSERT INTO Artists (Name) 
VALUES ('Ellie Goulding'),
       ('Florence + The Machine'),
       ('Ed Sheeran');
--Таблица  Albums
USE MusicDatabase05092020dz4mod2
INSERT INTO Albums ([Name], Artist, [Year]) 
VALUES ('Lights', 1, 2020),
       ('Lungs', 2, 2019),
       ('x(Deluxe Edition)', 3, 2018);
--Таблица  Songs 
USE MusicDatabase05092020dz4mod2
INSERT INTO Songs (Name, Album) 
VALUES ('Bloodstream', 3),
       ('Don"t', 3),
       ('Drumming Song', 2),
       ('Blinding', 2),
       ('Lights - Single Version', 1),
       ('Starry Eyed', 1);
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--2. Пользовательская функция возвращает информацию о дисках с одинаковым названием альбома, но разными исполнителями 
 
--Пользовательская функция
CREATE FUNCTION DisksInfo ()
RETURNS TABLE
AS
RETURN
    SELECT [Name]
      ,[Artist]
      ,[Year]
FROM Albums
WHERE Albums.[Name] = Albums.[Name] AND Albums.Artist != Albums.Artist;
--Вызов пользовательской функции
SELECT *
FROM 
    DisksInfo();
--Удаление пользовательской функции
DROP FUNCTION DisksInfo;
Функцию "делал" по альбомам, но не понял как учесть одинаковые названия альбомов. Может где-то еще в чем-то не прав. Подскажите, пожалуйста, как исправить. Заранее спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.09.2020, 14:59
Ответы с готовыми решениями:

Создать класс библиотека , который возвращает количество книг с одинаковым названием
Написать в питоне:создать класс библиотека , который возвращает количество книг с одинаковым названием( к сожалению код не работает,...

Пользовательская функция возвращает неверный ответ
Не пойму почему через функцию main выводит верный результат, а если через свою функцию, то всегда 0? int v_k (double *m, int H, double...

Если нет альбома с названием "Главный альбом", то создать запись в БД
как сделать если нет альбома, с названием &quot;главный альбом&quot; то создаем запись в бд, а если нет то не создаем? $name = 'главный...

5
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
28.09.2020, 15:36
Цитата Сообщение от atorvik Посмотреть сообщение
Функцию "делал" по альбомам, но не понял как учесть одинаковые названия альбомов
может настала пора не "делать", а уже почитать что-то?
1
38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1
28.09.2020, 16:32  [ТС]
Цитата Сообщение от pincet Посмотреть сообщение
может настала пора не "делать", а уже почитать что-то?
Это нужно просто сдать.
Прекрасно понимаю что Вы имеете ввиду. И я действительно искренне благодарен всем тем, кто помогает выкручиваться из сложившейся ситуации (больше обратится просто не к кому).
Было бы время подчитать сделал бы сам (думаю, в конце концов я бы к решению пришел).
Но, поскольку как такового преподавателя по сути и не было, пришлось практически во все вникать самому(где-то получилось, где-то не очень).
Сейчас вопрос стоит о том, чтобы просто сдать это последнее задание этому "преподавателю" и забыть о нем как о страшном сне.
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
28.09.2020, 16:40
Цитата Сообщение от atorvik Посмотреть сообщение
FROM Albums
WHERE Albums.[Name] = Albums.[Name] AND Albums.Artist != Albums.Artist;
это что за дичь?
1
38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1
28.09.2020, 17:25  [ТС]
Цитата Сообщение от pincet Посмотреть сообщение
это что за дичь?
Это типа идея взять Альбомы(делаю на примере альбомов, а не дисков) с одинаковыми именами, но разными исполнителями. Но, как Вы уже выразились, это дичь (что, в принципе, я и сам понимаю, но как правильно реализовать не знаю)
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
29.09.2020, 11:15
Лучший ответ Сообщение было отмечено atorvik как решение

Решение

T-SQL
1
2
3
4
5
select
 *
from
 Albums a join
 Albums b on b.Name = a.Name and b.Artist <> a.Artist;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.09.2020, 11:15
Помогаю со студенческими работами здесь

Создание переменных с одинаковым названием
Добрый день. Имеется интерфейс, который представлен на скриншоте, где каждая цифра - textblock. И в каждый textblock надо время от времени...

Возврат столбцов с одинаковым названием
Добрый день. Вопрос, наверное, простой, но я с SQL редко дело имею. Есть две таблицы. Необходимо из них вытащить три поля - из первой...

Макрос для подсуммировки столбцов с одинаковым названием
Здравствуйте. Нужен макрос для поиска столбцов с одинаковыми статьями затрат. количество столбцов и строк всегда разное.Далее сложить ...

Разные аттачменты в разных доках с одинаковым названием
Коллеги, очень тривиальный вопрос: Если база без даос, то при сохранении разных по содержанию файлов с одинаковыми названиями что выйдет?...

Как открыть сразу картинку и текстовый файл с одинаковым названием?
WPF. OpenFileDialog На форме есть Image для изображения и TextBox для текста. Картинки и текстовые файлы находятся в одной папке


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru