【发布时间】:2015-06-12 07:10:39
【问题描述】:
我有一个类似于下面设计的表格:
Id Code Name short name Date1 date2 market
1 12A AAAA1 a1 2012-03-27 2012-03-27 90
2 13A AAAA2 a2 2012-03-28 2012-03-28 90
3 14A AAAA3 a3 NULL NULL 32
4 15A AAAA4 a4 NULL NULL 32
我必须构建一个查询,这样当我选择一个代码时,市场 90 的代码,选择应该是这样一种方式,即 Date1>system date and Date2> Date1 而对于其他市场,没有标准适用于选择.
到目前为止我已经构建了查询,但是当市场为 90 时,我不知道如何指定 where 子句。
SELECT A.Id, B.Name [Name], B.Code [Code], Date1 [Date1], Date2 [Date]2, C.Code[Market]
FROM dbo.fn_idlisting(@System_Date) A
INNER JOIN code B ON A.Id = B.Id
LEFT OUTER JOIN Market C ON B.Market_Id = C.Market_Id
WHERE (Date1 <= @systemDate) AND (Date2 >= Date1)
我觉得如何在没有任何where子句的情况下选择带有market 32的其他代码。
【问题讨论】:
-
您能否添加更多详细信息:了解有关 fn_listing 和 Market 的更多信息可能会很有用。顺便说一句,where 子句没有指定涉及哪些表...
-
这个是mysql还是sql server?
-
微软 SQL Server 或 MySQL,好吗?
-
这很明显是 sql-server。方括号和
dbo.倾向于放弃它。 -
它的Microsoft sql server,fn_listing会列出系统日期在创建日期和到期日期之间的所有代码。 market 包含市场 id 的市场代码
标签: sql-server