【发布时间】:2017-02-24 19:28:32
【问题描述】:
我在一个使用 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 () 中,但仍然一无所获。
我的查询有什么问题?
【问题讨论】:
-
在字符串周围使用
'216335'单引号 -
我修改这个的原因之一是因为我也在修改一个插件。该插件获取教师编号列表并创建查询以选择它们,然后批量修改它们。在修改插件之前,我需要在报告中制定查询逻辑。
-
听起来像是一项雄心勃勃的任务。祝你好运!
-
Hogan,这似乎纠正了我的问题。我用双引号试过这个,但没有用,sql总是用单引号完成吗?感谢您的帮助!!!
-
是的,SQL 总是带单引号,C 和 C 之类的都是双引号,而 JavaScript 都是。因为 JavaScript 是疯狂的继子。
标签: sql powerschool