Попробуйте это
SELECT *
FROM TABLE2 t2
WHERE t2.Date NOT IN (SELECT Date FROM TABLE1 WHERE Holiday = 1)
Если таблица не имеет никакого другого значения, кроме маркировки выходных, почему столбец выходных и почему даты не являются выходными?
у нас праздничный стол как
CREATE TABLE [dbo].[METADATA_CALENDAR](
[CalendarDate] [datetime] NOT NULL,
[Description] [nvarchar](500) NULL,
[CalendarType] [nvarchar](100) NOT NULL,
[CalendarLocal] [nvarchar](50) NOT NULL,
)
, что может позволить вам различные типы календаря и для разных стран.