mirror of
https://github.com/Microsoft/sql-server-samples.git
synced 2025-12-08 14:58:54 +00:00
Adding sample for derived tables and views in graph match query feature
This commit is contained in:
+90
@@ -0,0 +1,90 @@
|
||||
drop view if exists OperatesIn, CUstomer, Novelty_supplier, Novelty_customer
|
||||
go
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-- Querying heterogeneous edges
|
||||
----------------------------------------------------------------------------
|
||||
CREATE VIEW OperatesIn AS
|
||||
SELECT *, 'located' AS relation FROM locatedIn
|
||||
UNION ALL
|
||||
SELECT *, 'delivery' FROM deliveryIn
|
||||
GO
|
||||
|
||||
SELECT SupplierID, SupplierName, PhoneNumber, relation
|
||||
FROM Supplier,
|
||||
City,
|
||||
OperatesIn
|
||||
WHERE MATCH(Supplier-(OperatesIn)->City)
|
||||
AND City.CityName = 'San Francisco'
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-- Querying heterogeneous nodes
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
CREATE VIEW Customer AS
|
||||
SELECT SupplierID AS ID,
|
||||
SupplierName AS NAME,
|
||||
SupplierCategory AS CATEGORY
|
||||
FROM Supplier
|
||||
UNION ALL
|
||||
SELECT CustomerID,
|
||||
CustomerName,
|
||||
CustomerCategory
|
||||
FROM Customers
|
||||
GO
|
||||
|
||||
|
||||
SELECT Customer.ID, Customer.NAME, Customer.CATEGORY
|
||||
FROM Customer,
|
||||
City,
|
||||
locatedIn
|
||||
WHERE MATCH(Customer-(locatedIn)->City)
|
||||
AND City.CityName = 'San Francisco'
|
||||
|
||||
SELECT Customer.ID, Customer.NAME, Customer.CATEGORY
|
||||
FROM Customer,
|
||||
City,
|
||||
OperatesIn
|
||||
WHERE MATCH(Customer-(OperatesIn)->City)
|
||||
AND City.CityName = 'San Francisco'
|
||||
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
-- Querying heterogeneous nodes and edges
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
|
||||
CREATE VIEW Novelty_Supplier AS
|
||||
SELECT SupplierID,
|
||||
SupplierName ,
|
||||
SupplierCategory ,
|
||||
ValidTo
|
||||
FROM Supplier
|
||||
WHERE SupplierCategory LIKE '%Novelty%' OR SupplierCategory LIKE '%Toy%'
|
||||
GO
|
||||
|
||||
CREATE VIEW Novelty_Customer AS
|
||||
SELECT CustomerID,
|
||||
CustomerName,
|
||||
CustomerCategory,
|
||||
ValidTo
|
||||
FROM Customers
|
||||
WHERE CustomerCategory LIKE '%Novelty%' OR CustomerCategory LIKE '%Gift%'
|
||||
GO
|
||||
|
||||
SELECT Name, ID, Category
|
||||
FROM
|
||||
(SELECT SupplierID AS ID, SupplierName AS Name,
|
||||
SupplierCategory AS Category, ValidTo
|
||||
FROM Novelty_Supplier WHERE ValidTo > getdate()
|
||||
UNION ALL
|
||||
SELECT CustomerID, CustomerName, CustomerCategory, ValidTo
|
||||
FROM Novelty_Customer WHERE ValidTo > getdate()) AS NoveltyCust,
|
||||
StockItems,
|
||||
bought,
|
||||
OperatesIn,
|
||||
City
|
||||
WHERE MATCH(City<-(OperatesIn)-NoveltyCust-(bought)->Stockitems)
|
||||
AND StockItemName = 'White chocolate snow balls 250g'
|
||||
AND city.cityname = 'San Francisco'
|
||||
GO
|
||||
Reference in New Issue
Block a user