0

DISTINCT フィールドを含む行を返そうとしていますが、SELECT のフィールドが異なります。その背後にある理由は、このクエリが UNION されたクエリの間にあるためです。したがって、他のクエリが出力しているものと一致するように出力する必要があります。説明が難しいので、以下に例を示します。

UNION---

SELECT * FROM 
(SELECT DISTINCT Value1 || Value2 || Value3 as DESCRIPTION, Value4
 FROM TABLE
 WHERE Value5 = <some distinct value>)
WHERE Value6 = 1

---UNION

したがって、基本的には、出力を2列にして、UNION化されたすべてのクエリで適切な出力が得られるようにします。WHERE 句で個別の値を使用するための構文がわからないだけだと思います。

4

1 に答える 1

0

value6あなたのクエリには、サブクエリの外側がありません。これを次のように表現する必要があります。

SELECT *
FROM (SELECT DISTINCT Value1 || Value2 || Value3 as DESCRIPTION, Value4
      FROM TABLE
      WHERE Value5 = <some distinct value> and
            Value6 = 1
     ) t

ただし、それがあなたの問題に役立つかどうかはわかりません。

余談ですがfrom、行末に置くフォーマットのスタイルはありますか? 私はこれを時々見ますが、理解できません。彼らの人間は実際にこれを好むのでしょうか?

于 2013-05-31T03:29:06.067 に答える