Click here to Skip to main content
11,922,559 members (32,500 online)
Rate this:
Please Sign up or sign in to vote.
See more: SQL Server
declare @vc_supplier_name varchar(200) =''
declare @in_supplier_type_id int =2
declare @bt_active bit =1
SELECT a.in_supplier_id, dbo.format_fnc_bit(1, a.bt_active) AS vc_active, b.vc_supplier_type_name, a.in_supplier_type_id, a.vc_supplier_name,
    dbo.admin_user_fnc_get_name(1, a.in_updatedby_user_id) AS vc_updated_by, a.dt_updated
    FROM dbo.supplier a
    INNER JOIN dbo.common_data_vw_supplier_type b ON a.in_supplier_type_id = b.in_supplier_type_id
    WHERE a.in_supplier_type_id = @in_supplier_type_id AND a.vc_supplier_name LIKE '%' + @vc_supplier_name + '%'
    AND  a.bt_active = case @in_supplier_type_id when 2 THEN @bt_active
    ORDER BY a.vc_supplier_name

Error comes :Incorrect syntax near the keyword 'ORDER'.

here i want to use bt_active only if @in_supplier_type_id=2
Posted 14-Feb-13 9:56am
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

case @in_supplier_type_id when 2 THEN @bt_active

You missed the ending END ( Smile | :) ) here.
mrinal_kumar_jha 14-Feb-13 15:13pm
Thanks CPallini It worked for @in_supplier_type_id =2

This query is not executing in case if @in_supplier_type_id is not 2..

What could be reason
Marcus Kramer 14-Feb-13 15:47pm
Espen Harlinn 15-Feb-13 9:04am
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

You need to add an "End" to the end of your case statement.

AND  a.bt_active = case @in_supplier_type_id when 2 THEN @bt_active

should be this:

AND  a.bt_active = case @in_supplier_type_id when 2 THEN @bt_active End

You can also use an Else if need be.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 453
1 Dave Kreskowiak 335
2 Sergey Alexandrovich Kryukov 263
3 Richard MacCutchan 225
4 ppolymorphe 175
0 OriginalGriff 7,231
1 KrunalRohit 4,530
2 Sergey Alexandrovich Kryukov 3,356
3 George Jonsson 2,865
4 Suvendu Shekhar Giri 2,216

Advertise | Privacy | Mobile
Web01 | 2.8.151120.1 | Last Updated 14 Feb 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100