CREATE TABLE [dbo].[sales](
[name] [varchar](25) ,
[product_name] [varchar](25)
)
GO
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Yossi', N'Iphone6')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Yossi', N'Iphone6')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Yossi', N'Iphone5')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Yossi', N'Iphone4')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Moshe', N'Iphone6')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Moshe', N'Samsung Galaxy S5')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Tomer', N'Iphone6')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Tomer', N'Iphone5')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Tomer', N'Iphone4')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Tomer', N'Samsung Galaxy S4')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Roee', N'Samsung Galaxy S4')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Roee', N'Iphone4')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Roee', N'Samsung Galaxy S5')
INSERT [dbo].[sales] ([name], [product_name]) VALUES (N'Roee', N'Iphone6')
SELECT DISTINCT S.name
FROM sales s
WHERE NOT EXISTS (
SELECT s1.product_name
FROM sales s1
WHERE s1.name = 'Yossi' AND
NOT EXISTS (
SELECT s3.product_name
FROM sales s3
WHERE s3.name = s.name AND s3.name <> s1.name AND
s3.product_name = s1.product_name
)
)