I am trying write a query that has me stumped. The real data is proprietary, so I have provided a similar question below.
Based on the given data, I am trying to write a query to retrieve a list of colors which are available for all flowers. The expected results would be White, and Pink.
-- sample DDL
DECLARE @Flowers TABLE
(
ID INT IDENTITY(1,1)
,Name VARCHAR(20)
)
DECLARE @Colors TABLE
(
ID INT IDENTITY(1,1)
,Name VARCHAR(20)
)
DECLARE @FlowerColors TABLE
(
FlowerID INT
,ColorID INT
)
-- sample DATA
INSERT INTO @Flowers
SELECT 'Rose'
UNION ALL SELECT 'Tulip'
UNION ALL SELECT 'Lily'
UNION ALL SELECT 'Carnation'
INSERT INTO @Colors
SELECT 'White'
UNION ALL SELECT 'Violet'
UNION ALL SELECT 'Pink'
UNION ALL SELECT 'Red'
UNION ALL SELECT 'Yellow'
UNION ALL SELECT 'Orange'
INSERT INTO @FlowerColors(FlowerID, ColorID)
SELECT 1,1
UNION ALL SELECT 2,1
UNION ALL SELECT 3,1
UNION ALL SELECT 4,1
UNION ALL SELECT 3,6
UNION ALL SELECT 1,4
UNION ALL SELECT 1,3
UNION ALL SELECT 2,3
UNION ALL SELECT 3,3
UNION ALL SELECT 4,3
UNION ALL SELECT 2,5
UNION ALL SELECT 2,6
UNION ALL SELECT 2,4
UNION ALL SELECT 2,2
UNION ALL SELECT 1,5
SELECT *
FROM @Flowers
SELECT *
FROM @Colors
SELECT *
FROM @FlowerColors