2017-04-24 21 views
0

テーブル "a"の値が " - "の場合、1つのテーブル "b"の値を取得したいだけです テーブル "b"の値が空の場合は、テーブル "私はエラーがCASE式のライン上にあると思いMS AccessクエリCASEステートメントで

 SELECT ts.data_generacio, 
     ts.estat, 
     ts.exercici, 
     Month(tsl.data) AS Mes, 
     Day(tsl.data) AS Dia, 
     tsl.data, 
     tsl.cod_treb, 
     t.nom_treb, 
     tsl.hores, 
     p.cod_proj, 
     p.acronim  AS nom_proj, 
     j.justificacio, 
     tsl.timesheet_id, 
     p.ref, 
     CASE WHEN tsl.activitat != '' THEN tsl.activitat ELSE ts.activitat END AS Activitat 
FROM timesheet_lines AS tsl 
     LEFT JOIN timesheets  AS ts 
     ON tsl.timesheet_id = ts.id 
      LEFT JOIN treballadors AS t 
      ON tsl.cod_treb = t.cod_treb 
       LEFT JOIN justificacions AS 
       ON ts.id_justificacio = j.id 
        LEFT JOIN projectes AS p 
        ON j.cod_proj = p.cod_proj; 

: - 」それはだ場合でも、 『このクエリで演算子がありません『』

Microsoft Accessが言います』。

+0

これは大文字小文字の違いです... – jarlh

+1

エラーが消えた時を見つけるために、その時の1行。 – jarlh

+0

助けてくれなかった.... –

答えて

0

MSアクセスはCASEステートメントをサポートしていません。 IIF使用:アクセスはどちらかLEFT JOIN上のエイリアスをサポートしている場合、私はわからない

IIF(tsl.activitat <> '', tsl.activitat, ts.activitat) AS Activitat 

が、それはおそらく、(正しくタグ付けされたが)、あなたの質問のタイトルは...面倒かもしれません

注意をして、ほとんどの人々は "MS SQL"を書くときにTransact-SQL(TSQL)を参照します。 Transact-SQLは、MS SQL Serverでは使用されますが、独自のSQLダイアレクトを使用するMS Accessでは使用できません(「Access SQL」と呼ばれ、かなり限定的です)。

関連する問題