我会直接解决问题。
此查询应该是PFlag设置为“否”的记录列表
然而,当我运行它时,我得到空白结果。
如果我删除WHERE子句(其中pFlag ='No'),我会得到结果。
因此,WHERE子句出现了问题。
知道出了什么问题吗?
这是我目前正在运行的代码。
SELECT DISTINCT t.username,
lg.Email,
lg.fullname,
c.CourseName,
l.location,
d.trainingDates,
d.trainingTime,
t.processedFlag,
i.instructorName
FROM tblTrainings t
INNER JOIN tblCourses c on t.courseId = c.courseId
INNER JOIN tblLocations l on t.locationId = l.LocationId
INNER JOIN tblTrainingDates d on t.dateid=d.dateid
INNER JOIN tblCourseInstructor ic on c.courseId = ic.CourseId
INNER JOIN tblInstructors i on ic.instructorId = i.instructorId
INNER JOIN tblLogin lg on t.username = lg.username
WHERE t.PFlag = 'No'
ORDER BY lg.fullname DESC
看起来很简单。
提前多多感谢
PFlag
0x59006500
0x59006500
0x59006500
答案 0 :(得分:1)
尝试重写WHERE语句,如下所示:
WHERE t.PFlag like '%No%'
希望它有所帮助。
答案 1 :(得分:0)
检查表格列定义。
如果字段pFlag
的类型为CHAR
且具有特定长度,例如CHAR[4]
,然后该列中的任何字符串最多将填充4个字符。
在这种情况下,表格中存储的实际数据将为No[space][space]
。
如果是这种情况,请将您的列类型转换为VARCHAR
,并使用trim()
对该列进行更新。
答案 2 :(得分:0)
尝试像@ user2065377那样运行它:
WHERE t.PFlag like '%No%'
另外:
运行查询不带 where
子句并添加此列:SELECT ...., CAST(t.PFlag AS VARBINARY(4))
并查看不同的值。
也许你有空格(不可见)字符
还会将结果粘贴到:
select distinct ( t.PFlag) from .....
SELECT CONVERT(VARCHAR(100), 0x59006500)
收益Y
Yes
字在哪里?
SELECT CASE WHEN CONVERT(nVARCHAR(100), 0x59006500)='Y' THEN 1 ELSE 0 END
(收益率0)