【发布时间】:2021-01-06 07:49:26
【问题描述】:
您好,我对 sql server 有一个疑问。 如果不存在,如何查找存在或不存在的颜色 然后获取productid信息
表:产品信息
CREATE TABLE [dbo].[productInfo](
[Productid] [int] NULL,
[Productcolor] [varchar](50) NULL
)
INSERT [dbo].[productInfo] ([Productid], [Productcolor]) VALUES (1, N'red')
INSERT [dbo].[productInfo] ([Productid], [Productcolor]) VALUES (1, N'blue')
INSERT [dbo].[productInfo] ([Productid], [Productcolor]) VALUES (1, N'white')
INSERT [dbo].[productInfo] ([Productid], [Productcolor]) VALUES (2, N'red')
INSERT [dbo].[productInfo] ([Productid], [Productcolor]) VALUES (2, N'blue')
INSERT [dbo].[productInfo] ([Productid], [Productcolor]) VALUES (3, N'red')
INSERT [dbo].[productInfo] ([Productid], [Productcolor]) VALUES (4, N'red')
INSERT [dbo].[productInfo] ([Productid], [Productcolor]) VALUES (4, N'blue')
INSERT [dbo].[productInfo] ([Productid], [Productcolor]) VALUES (4, N'white')
基于上述数据,我想要如下所示的输出
Productid | Productcolor
2 | white missed
3 | blue missed
3 | white missed
每个 productid 应该有红色、蓝色、白色。如果不存在任何颜色,则 需要显示productid和color。如果所有颜色都存在则不需要显示productid
我尝试如下
select *
from productinfo
where Productcolor not in ( 'red','blue','white')
能否请您告诉我如何编写查询以在 sql server 中完成此任务。
【问题讨论】:
标签: sql-server sql-server-2012