我在使用Powerschool的学区工作,Powerschool有一个自定义报告系统,允许用户直接输入SQL查询。当我使用自定义报告时:
SELECT T.DCID, T.LastFirst, T.teachernumber, T.Users_DCID
FROM TEACHERS T
WHERE T.STATUS=1 and T.SCHOOLID=~(curschoolid)
ORDER BY T.LAST_NAME ASC, T.FIRST_NAME ASC
我得到一个这样的填充表:
DCID lastfirst teachernumber users_dcid
5433 ------------- 216335 5433
7855 ------------- 216430 7855
7576 ------------- 216376 7576
26021 ------------- 7365739166 9748
但是当我修改我的查询以添加选择某些数据时:
SELECT T.DCID, T.LastFirst, T.teachernumber, T.Users_DCID
FROM TEACHERS T
WHERE T.teachernumber IN (216335, 216430, 7365739166) and T.STATUS=1 and T.SCHOOLID=~(curschoolid)
ORDER BY T.LAST_NAME ASC, T.FIRST_NAME ASC
输出结果为:
No data available in table
我查了一下文档,t.teachernumber是一个字符串(20)。所以我尝试将CONVERT(string(20),216335)添加到WHERE IN()中,但仍然没有提供任何内容。
我的查询有什么问题?
答案 0 :(得分:7)
你想要这个:
WHERE T.teachernumber IN ('216335', '216430', '7365739166') -- etc
字符串常量使用单引号
答案 1 :(得分:0)
SELECT T.DCID, T.LastFirst, T.teachernumber, T.Users_DCID FROM TEACHERS T
WHERE T.teachernumber IN ('216335', '216430', '7365739166')
AND T.STATUS=1 AND T.SCHOOLID=~(curschoolid)
ORDER BY T.LAST_NAME ASC, T.FIRST_NAME ASC