Sql server 如何从表中隐藏日期和id
使用SQLServer2005 我想在table1中隐藏日期,其中table1.id=table2.id和table1.date=table2.date 表1Sql server 如何从表中隐藏日期和id,sql-server,Sql Server,使用SQLServer2005 我想在table1中隐藏日期,其中table1.id=table2.id和table1.date=table2.date 表1 ID Date 001 01-01-2009 001 02-02-2009 001 03-01-2009 001 04-01-2009 002 01-01-2009 002 02-02-2009 002 03-01-2009 表2 ID Date Holiday 001 01-02-2009 0 001 02-02-2009 1
ID Date
001 01-01-2009
001 02-02-2009
001 03-01-2009
001 04-01-2009
002 01-01-2009
002 02-02-2009
002 03-01-2009
表2
ID Date Holiday
001 01-02-2009 0
001 02-02-2009 1
001 03-01-2009 0
001 04-01-2009 0
002 01-01-2009 1
002 02-02-2009 1
002 03-01-2009 0
质疑
SELECT ID, Date
FROM table
WHERE date NOT IN (SELECT date FROM table2 WHERE holiday = 1)
AND id NOT IN (SELECT id FROM table2 WHERE holiday = 1)
上面的查询没有显示任何内容
如何对此条件进行查询
需要SQL查询帮助您可以执行以下操作:
SELECT ID,Date From Table1
WHERE convert(VARCHAR,date)+'~'+convert(VARCHAR,id) NOT IN
(SELECT convert(VARCHAR,date)+'~'+convert(VARCHAR,id) FROM table2
WHERE Holiday=1)
你的id不是很独特,基本上隐藏了一切 例如 表1 001 03-01-2009-这不是假日 表2 001 02-02-2009 1-这是一个假日-但id为“001”-与表1中的记录相同,不是假日 您确定要根据ID进行筛选吗?当然“仅按日期”将起作用:
SELECT
ID,
Date
FROM
table
WHERE
date not in (select date from table2 where holiday = 1)