0

私はこれを行う方法を見つけようとしています:

If (blah = 0 then 'Yes' else if blah = 1 then 'no' else 'maybe')

mysqlで。次の方法ですべてのデータをグリッドビューに挿入したので、これを実行しようとしています。

    Dim strSQL As String
    strSQL = "SELECT id, billing_first_name, billing_last_name, billing_email, billing_address, billing_city, billing_state, billing_zip, " & _
                "total, price_mode, process_status, 1 as num_of_items " & _
             "FROM orders " & _
             "ORDER BY created_on DESC, processed_on DESC LIMIT 0, 20;"

    Dim dtReader As MySqlDataReader
    objCmd = New MySqlCommand(strSQL, objConn)
    dtReader = objCmd.ExecuteReader()

    grdView.DataSource = dtReader
    grdView.DataBind()

データベースではなく、上記のvb.netコードのどこかでif / then / elseを実行できれば、それもいいでしょう。私は通常のクエリコードでそのようにすることに慣れています。

私は現在、if、elseif、elseではなく、ifとelseでのみこれを行うことができます。

SELECT IF(process_status = 1, 'SUCCEEDED', 'blah') as message, id,...

ありがとう!

4

3 に答える 3

1

SQLでは、これは次のように行われます。

select 
      case blah when 1 then 'yes' 
                when 0 then 'no' 
      else 'maybe' end as blah ,
      columnb  ,
      columnc
from table
于 2012-08-13T19:19:52.217 に答える
1
SELECT field1,field2,field3,
CASE field3
WHEN 0
THEN 'YES'
WHEN 1
THEN 'NO'
ELSE
'MAYBE'
END AS blah
FROM table
于 2012-08-13T19:27:47.817 に答える
1

CASE式の代わりに、2つのIF関数を式にネストすることもできます。

SELECT If(blah=0,'Yes',IF(blah=1,'no','maybe')) AS blah
于 2012-08-13T19:34:33.247 に答える