0

If/ElseVB.Netコード内のSQLクエリにステートメントを追加するための最良の方法を知りたいだけですか?

これは私の現在のクエリです(機能しません):

SELECT 
   FIRSTNAME, LASTNAME 
FROM 
   TBL_USERS 
ORDER BY 
   If(SortSelect() Is ""lastname"", LASTNAME, FIRSTNAME) 

前もって感謝します。

4

3 に答える 3

2

次のようなことを試すことができます:

SELECT FIRSTNAME, LASTNAME 
FROM TBL_USERS 
ORDER BY Case when <SortSelect>= 'lastname' then LASTNAME else  FIRSTNAME end
于 2012-11-07T14:43:19.547 に答える
2

これについての私の意見はIF、SQL ステートメントに決して入れないことです。読みづらくなります。おそらく、すべてが同じライン上にあるためです。

あなたの場合は 1 つしかありませんが、多くの条件がある場合、ほとんど読み取ることができなくなります。

このような条件の文字列を宣言する必要があります

Dim strQuery as string
Dim strOrderBy as string

If(SortSelect() = "lastname") then
   strOrderBy = "Order By lastname"
Else
   strOrderBy = "Order By firstname"
endif


strQuery = "SELECT FIRSTNAME, LASTNAME FROM TBL_USERS " & strOrderBy
于 2012-11-07T14:47:26.123 に答える
1
Dim sql as string = "SELECT FIRSTNAME, LASTNAME FROM TBL_USERS ORDER BY "
if (SortSelect() = "lastname")
    sql = sql & "lastname"
else
    sql = sql & "firstname"
end if
于 2012-11-07T14:43:21.837 に答える