2017-12-26 7 views
0

構文エラーが発生するため、この方法は機能しません。2つの表の列と条件文で作成された別名を組み合わせるにはどうすればよいですか?

SELECT A.Field1, A.Field2, B.Field3, B.Field4, Field5, 
IF(A.SomeField = "","No","Yes") AS Field5; 
FROM Atable A, Btable B 
WHERE A.Field1 = B.FieldX; 
+1

ところで、より良いではなく、昔ながらの '' 構文よりも、JOIN明示的なINNERを使用します。また、アウトプットとしてあなたが望むものを投稿して、それが「うまくいかない」というものを投稿することはできますか? – Nick

+0

https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-クエリ – Strawberry

+0

それを指摘してくれてありがとう、私は構文エラーについてより明示的にテキストを変更しました。これらの問題を正しく理解することは、私のような未知の海に襲われた人にとっては少し難しいことです。 MCVEは私の例よりも広範囲にすることができますが、一度構文エラーが出たら、私の質問では十分でしょうか?多分、私はエラーコードを追加できたかもしれませんが、答えが問題を解決したので、今は失われています。あなたはまだ投票の価値があると思いますか? – steveorg

答えて

2

使用CASE WHEN

SELECT A.Field1, A.Field2, B.Field3, B.Field4, 
    CASE WHEN A.Field1 = "" 
    THEN 'NO' ELSE 'YES' END AS Field5 
FROM Atable A 
JOIN Btable B on B.FieldX = A.Field1 
+0

優秀!どうもありがとう。 – steveorg

+0

あなたは大歓迎です!あなたは答えとして受け入れることができます。ありがとう。 – isaace

関連する問題