【发布时间】:2018-07-24 14:17:19
【问题描述】:
我正在尝试编写 IIF 语句以返回我的查询中的某些职位。
但是,当我去运行我的代码时,这个列甚至没有在我创建的表中返回。我在网上看了,似乎这是正确的语法。我是否遗漏了导致它不返回此列的内容?
IIF ([w.Job_Title] = "Sales Pro" OR [w.Job_Title] = "Services Pro" OR [w.Job_Title] = "Universal Pro" OR [w.Job_Title] = "Fulfillment Pro", "JobTitle", NULL),
我原来在查询的末尾有一个 WHERE 语句,但这似乎导致我的其他数据不准确,所以我认为这种 IIF 方式会更好。
以下是完整查询:
SELECT cal.FiscalYear,
cal.FiscalQuarter,
cal.FiscalMonth,
cal.FiscalWeekNumber,
Format(w.Day, "Dddd") AS DayOfWeek,
cal.Day AS CalendarDay,
w.Day,
c.SegStart,
c.SPLITNAME AS SkillName,
w.Site,
w.Campaign,
w.Manager,
w.Supervisor,
IIF ([w.Job_Title] = "Sales Pro"
OR [w.Job_Title] = "Services Pro"
OR [w.Job_Title] = "Universal Pro"
OR [w.Job_Title] = "Fulfillment Pro", "JobTitle", NULL),
w.EmployeeNumber AS SalesID,
w.ACDID,
c.CallID,
w.Employee,
c.Caller_Name AS cms_EmployeeName,
c.Answerer_Name AS cms_ProEmployeeName,
c.Answered,
c.AcwTime,
c.Agt_Released AS AgentReleased,
c.AnsHoldTime,
c.AnsLogin,
c.Calling_Pty AS CallingParty,
c.Conference,
c.ConsultTime,
c.Dialed_Num AS DialedNumber,
c.DispIVector,
c.DispSplit,
c.DispVDN,
c.Duration,
c.Disposition,
c.Held,
c.HoldABN AS AbanOnHold,
c.OrigLogin,
c.QueueTime,
c.RingTime,
c.TalkTime,
c.Transferred,
c.VDN2,
c.VDN3,
c.VDN4,
c.VDN5
FROM (t_wfm AS w
INNER JOIN t_cms AS c ON (c.CALLING_PTY = w.ACDID)
AND (Format(c.SEGSTART, "Short date") = Format(w.[Day], "Short date")))
INNER JOIN tbl_Calendar AS cal ON cal.Day = w.Day;
【问题讨论】:
-
您能否提供一小部分数据样本和预期结果?
-
我希望职位仅返回上述职位。在数据样本中,该列根本没有返回。
-
How to ask a good SQL question。样本数据和预期结果比文字描述有用得多。 -- 也请发布完整的查询。
-
查看上面的完整查询
-
查询只是一个从两个表中检索数据的查询,我唯一想做的就是过滤到仅检索某些职位