Создайте пользовательскую функцию с именем XXRepeatCustomer (где XX - ваши инициалы). Функция должна иметь один входной параметр. Используйте тип данных INT для входного параметра. Когда функция выполняется, она возвращает таблицу из трех столбцов (CustFirstName, CustLastName и Phone) для клиентов, которые разместили количество заказов, большее или равное числу, переданному через входной параметр.
Чтобы получить общее количество размещенных заказов, я объединил таблицы Customer и CustOrder. Проблема только в том, чтобы я показывал первый, последний и телефон каждого клиента, но не общее количество заказов. Я пытаюсь присвоить параметр @orders и подсчитать общее количество заказов в подзапросе.
CREATE FUNCTION dbo.JERepeatCustomer
(@orders INT)
RETURNS TABLE AS
RETURN (SELECT CustFirstName, CustLastName, Phone
FROM Customer C JOIN CustOrder CO
ON C.CustomerID = CO.CustomerID
WHERE @orders <= OrderID AND OrderID = (SELECT COUNT (DISTINCT OrderID) FROM CustOrder)
GROUP BY CustFirstName, CustLastName, Phone)
Я ожидаю, что пользователь введет 7 или любое число, а результаты покажут только клиенты, заказавшие 7 или более.