SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
CREATE TABLE [Companies]( [CompanyID] [int] NOT NULL, [Name] [nvarchar](255) NOT NULL, CONSTRAINT [PK_Companies] PRIMARY KEY CLUSTERED (CompanyID) ) GO CREATE TABLE [dbo].[CompanyRatings]( [RowID] [int] NOT NULL, [CompanyID] [int] NOT NULL, [ReportDate] [date] NOT NULL, [Rating] [tinyint] NOT NULL, CONSTRAINT [PK_CompanyRatings] PRIMARY KEY CLUSTERED (RowID) ) GO INSERT [dbo].[Companies] ([CompanyID], [Name]) VALUES (1, N'Company 1'), (2, N'Company 2'), (3, N'Company 3'), (4, N'Company 4'), (5, N'Company 5'), (6, N'Company 6'), (7, N'Company 7'), (8, N'Company 8'), (9, N'Company 9'), (10, N'Company 10') GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (1, 1, CAST(N'2021-07-18' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (2, 4, CAST(N'2022-02-17' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (3, 8, CAST(N'2020-04-02' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (4, 2, CAST(N'2020-12-25' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (5, 9, CAST(N'2022-08-03' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (6, 4, CAST(N'2020-01-04' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (7, 3, CAST(N'2020-03-11' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (8, 2, CAST(N'2022-09-02' AS Date), 5) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (9, 5, CAST(N'2021-12-11' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (10, 3, CAST(N'2020-02-22' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (11, 6, CAST(N'2022-10-29' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (12, 3, CAST(N'2022-02-20' AS Date), 4) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (13, 2, CAST(N'2021-03-28' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (14, 2, CAST(N'2021-04-27' AS Date), 4) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (15, 9, CAST(N'2021-03-30' AS Date), 4) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (16, 1, CAST(N'2022-10-18' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (17, 5, CAST(N'2020-03-20' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (18, 7, CAST(N'2020-02-14' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (19, 8, CAST(N'2022-01-20' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (20, 2, CAST(N'2020-09-29' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (21, 2, CAST(N'2020-10-02' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (22, 8, CAST(N'2020-09-06' AS Date), 5) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (23, 4, CAST(N'2020-10-29' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (24, 5, CAST(N'2021-07-17' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (25, 9, CAST(N'2021-01-02' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (26, 9, CAST(N'2020-01-05' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (27, 7, CAST(N'2022-02-12' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (28, 9, CAST(N'2022-08-05' AS Date), 4) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (29, 2, CAST(N'2022-01-20' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (30, 7, CAST(N'2022-11-14' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (31, 9, CAST(N'2022-09-02' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (32, 6, CAST(N'2022-09-19' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (33, 3, CAST(N'2022-11-18' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (34, 5, CAST(N'2020-08-21' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (35, 3, CAST(N'2022-02-18' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (36, 3, CAST(N'2021-12-15' AS Date), 3) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (37, 9, CAST(N'2020-01-17' AS Date), 4) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (38, 8, CAST(N'2020-05-28' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (39, 2, CAST(N'2022-07-11' AS Date), 4) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (40, 2, CAST(N'2022-03-15' AS Date), 5) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (41, 2, CAST(N'2022-01-02' AS Date), 4) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (42, 8, CAST(N'2022-03-16' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (43, 5, CAST(N'2023-01-01' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (44, 2, CAST(N'2020-08-06' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (45, 7, CAST(N'2022-03-22' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (46, 3, CAST(N'2022-01-01' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (47, 5, CAST(N'2021-01-15' AS Date), 2) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (48, 3, CAST(N'2020-11-17' AS Date), 5) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (49, 3, CAST(N'2021-10-16' AS Date), 1) GO INSERT [dbo].[CompanyRatings] ([RowID], [CompanyID], [ReportDate], [Rating]) VALUES (50, 3, CAST(N'2020-04-14' AS Date), 2) GO ALTER TABLE [dbo].[CompanyRatings] WITH CHECK ADD CONSTRAINT [FK_CompanyRatings_Companies] FOREIGN KEY([CompanyID]) REFERENCES [dbo].[Companies] ([CompanyID]) GO ALTER TABLE [dbo].[CompanyRatings] CHECK CONSTRAINT [FK_CompanyRatings_Companies] GO ;with LessThan4 as ( select CompanyID from CompanyRatings group by CompanyID having max(Rating)<4 ) select c.*, lr.LastRating from Companies c inner join LessThan4 l4 on c.CompanyID=l4.CompanyID cross apply (select top 1 Rating LastRating from CompanyRatings where CompanyID=l4.CompanyID order by ReportDate desc) lr go
Stuck with a problem? Got Error? Ask ChatGPT!
Copy Clear