2012-10-17 32 views
-2

希望有人可以给我一些指导。我查询:在期望条件的上下文中指定的非布尔类型的表达式 - 错误

SELECT 
    wm.ID, 
    wm.name, 
    wm.meeting_type, 
    m.start_date, 
    wml.name as location 
FROM 
    webmaster.meeting wm inner join meetings m on wm.ID = m.Meeting_Code 
    inner join webmaster.meeting_location on wml wm.locationID = wml.ID 
WHERE 
    Year(m.start_date) = Year(getDate()) 
ORDER BY 
    m.start_date 

运行时,我得到这个错误:

Msg 4145, Level 15, State 1, Line 9 
An expression of non-boolean type specified in a context where a condition is expected, near 'wm'. 

有什么我失踪?

回答

5

改变这种从

inner join webmaster.meeting_location on wml wm.locationID = wml.ID 

to 

inner join webmaster.meeting_location wml on wm.locationID = wml.ID 
+0

谢谢你的第二双眼睛! – etm124

+1

一致的代码格式风格的价值在于这些类型的错误更容易吸引眼球。即将所有连接放在他们自己的路线上,这样会更容易看到。 – Rawheiser

0

试试这个:

SELECT 
    wm.ID, 
    wm.name, 
    wm.meeting_type, 
    m.start_date, 
    wml.name as location 
FROM 
    webmaster.meeting wm inner join meetings m on wm.ID = m.Meeting_Code 
    inner join webmaster.meeting_location wml on wm.locationID = wml.ID 
WHERE 
    Year(m.start_date) = Year(getDate()) 
ORDER BY 
    m.start_date 
相关问题