【发布时间】:2011-12-07 04:19:24
【问题描述】:
以下是现有的 ms sql server 2008 报告查询。
SELECT
number, batchtype, customer, systemmonth, systemyear, entered, comment, totalpaid
FROM
payhistory LEFT OUTER JOIN agency ON
payhistory.SendingID = agency.agencyid
WHERE
payhistory.batchtype LIKE 'p%' AND
payhistory.entered >= '2011-08-01 00:00:00.00' AND
payhistory.entered < '2011-08-15 00:00:00.00' AND
payhistory.systemmonth = 8 AND
payhistory.systemyear = 2011 AND
payhistory.comment NOT LIKE 'Elit%'
结果将如下所示:
number batchtype customer systemmonth systemyear entered comment totalpaid
6255756 PC EMC1106 8 2011 12:00:00 AM DP From - NO CASH 33
5575317 PA ERS002 8 2011 12:00:00 AM MO-0051381526 7/31 20
6227031 PA FTS1104 8 2011 12:00:00 AM MO-10422682168 7/30 25
6232589 PC FTS1104 8 2011 12:00:00 AM DP From - NO CASH 103
2548281 PC WAP1001 8 2011 12:00:00 AM NCO DP $1,445.41 89.41
4544785 PCR WAP1001 8 2011 12:00:00 AM NCO DP $1,445.41 39
我要做的是修改查询,以排除客户为“FTS%”和“EMC%”以及batchtype =“PC”的记录。正如您在结果集中看到的那样,有一些记录,其中客户类似于 FTS% 和 batchtype = 'PA'。我想在结果中保留这些记录。我将不胜感激提供的任何想法。
【问题讨论】:
-
您得到了哪些不良结果?
-
那么,为什么要说“仅当 btype = 'PC'”然后输入
btype <> 'PC'? -
您的 SQL 有一个额外的括号,或者它缺少一个...
标签: sql sql-server sql-server-2008 sql-like