-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunction
More file actions
72 lines (59 loc) · 2.03 KB
/
function
File metadata and controls
72 lines (59 loc) · 2.03 KB
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
64
65
66
67
68
69
70
IF EXISTS (SELECT * FROM sys.objects WHERE name = 'Last_id_Order')
exec
(
'DROP FUNCTION [dbo].[Last_id_Order];'
)
GO
Create FUNCTION [dbo].[Last_id_Order](@CustomerID [INT])
RETURNS INT
AS
BEGIN
DECLARE @ListPrice int;
select @ListPrice = max(SALES_ORDER.SalesOrderID)
from [Sales].[SalesOrderHeader] SALES_ORDER
where SALES_ORDER.CustomerID = @CustomerID
RETURN @ListPrice;
END;
--Test
select [dbo].[Last_id_Order](29515);
--#############################################################################################################################
IF EXISTS (SELECT * FROM sys.objects WHERE name = 'Trouver_Adress_Par_Code_Postal_et_Date_MAJ')
exec
(
'DROP FUNCTION [dbo].[Trouver_Adress_Par_Code_Postal_et_Date_MAJ];'
)
GO
CREATE FUNCTION [dbo].[Trouver_Adress_Par_Code_Postal_et_Date_MAJ](@DateDebut Date, @DateFin Date, @codepostale varchar(15))
RETURNS @Trouver_Adress_Par_Code_Postal_et_Date_MAJ TABLE
(
[Prenom] VARCHAR(50),
[Nom] VARCHAR(50),
[Person_Date_MAJ] DateTime,
[Adress] VARCHAR(400)
)
AS
BEGIN
INSERT @Trouver_Adress_Par_Code_Postal_et_Date_MAJ
SELECT
[FirstName],
[LastName],
PERSON.[ModifiedDate],
Concat([AddressLine1],' ',[AddressLine2],' ',[City]) as Adress
from
[Person].[Person] PERSON,
[Sales].[Customer] CUSTOMER,
[Sales].[SalesOrderHeader] SALES_ORDER,
[Person].[Address] ADRESS
where
PERSON.BusinessEntityID = CUSTOMER.PersonID
AND CUSTOMER.CustomerID = SALES_ORDER.CustomerID
AND ( SALES_ORDER.BillToAddressID = ADRESS.AddressID or SALES_ORDER.ShipToAddressID = ADRESS.AddressID )
and ADRESS.[ModifiedDate] between @DateDebut and @DateFin
and ADRESS.PostalCode= @codepostale
--and SALES_ORDER.SalesOrderID = [dbo].[Last_id_Order](CUSTOMER.CustomerID);
RETURN
END
GO
--Test
Select * from [dbo].[Trouver_Adress_Par_Code_Postal_et_Date_MAJ](CONVERT(Date,'01/01/2009'), Convert(Date,'01/01/2013'),'T2P 2G8')
--#############################################################################################################################