2017-12-26 29 views
0

SQL Serverビューを作成して、文字列フィールドに基づいてフィールドを計算しようとしています。 この:SQL Serverの式string = 'test' not working

SELECT  dbo.table2.field1 = 'Test' AS Expr25, dbo.table2.field1 
    FROM   dbo.table1 INNER JOIN 
          dbo.table2 ON dbo.table1.ID = dbo.table2.ID 

は自動的にこれにクエリデザイナによって変換されます:

SELECT  'dbo.table2.field1 = Test' AS Expr25, dbo.table2.field1 
FROM   dbo.table1 INNER JOIN 
         dbo.table2 ON dbo.table1.ID = dbo.table2.ID 

私は後だ結果なしあり最初の列

+7

もっとコードを表示する必要があると思います。説明していることは起こっていません。あなたはあなたが見ているものを誤解しています。 –

+0

'dbo.dimTable.myField + N'Test''ではなく' dbo.dimTable.myField + = N'Test''を意味しますか? –

+1

あなたのクエリがビジュアルクエリデザイナなどで混乱しているとお考えですか? –

答えて

3

で真/偽の値でなければなりませんtrueまたはfalseを使用する必要があります。

SELECT  case dbo.table2.field1 when 'Test' then 'true' else 'false' end 'true or false' 
, dbo.table2.field1 
    FROM   dbo.table1 INNER JOIN 
          dbo.table2 ON dbo.table1.ID = dbo.table2.ID 
+0

@ user1761806私の編集を参照してください – Horaciux

+0

ありがとう! SQL Serverがブール式を許可していない場合、私は上記のやり方が混乱しているように見えます。私は他のいくつかのRDBMSでそれらを実行したに違いありません。私はCASEが働いたことを確認できます。皆さん、ありがとうございました! – user1761806