0

問題に直行します。

このクエリは、PFlag が「いいえ」に設定されているレコードのリストを対象としています。

ただし、実行すると空白の結果が得られます。

WHERE 句 (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
4

3 に答える 3

0

@ user2065377が言ったように実行してみてください:

WHERE t.PFlag like '%No%'

また :

なしでクエリを実行し、この列を追加します:個別の値を確認します。whereSELECT ...., CAST(t.PFlag AS VARBINARY(4))

空白(見えない)文字があるかもしれません

の結果も貼り付けます。

select distinct ( t.PFlag) from .....

編集

SELECT CONVERT(VARCHAR(100), 0x59006500)収量Y

Yes単語はどこですか?

それでも、それは普通の Y ではありません:

SELECT CASE WHEN CONVERT(nVARCHAR(100), 0x59006500)='Y' THEN 1 ELSE 0 END(利回り 0)

于 2013-09-10T15:19:57.037 に答える