sql >> データベース >  >> RDS >> Sqlserver

Where句または代替オプションでエイリアスを使用していますか?

    WHERE 句でエイリアスを使用することはできません。式を繰り返す (乱雑) か、SELECT をサブクエリに入れてから、外側のクエリに WHERE 句を入れてください:

    SELECT Id, Name, City, State
    FROM
    (
         SELECT
             ID, 
             Name,
             CASE T.N 
                 WHEN 1 THEN City1
                 WHEN 2 THEN City2
                 WHEN 3 THEN City3
             END AS City,
             CASE T.N 
                 WHEN 1 THEN State1
                 WHEN 2 THEN State2
                 WHEN 3 THEN State3
             END AS State
         FROM YourTable
         CROSS JOIN (VALUES(1),(2),(3)) AS T(N)
    ) T1
    WHERE City IS NOT NULL
      

    1. MYSQLテーブルの制約?

    2. PostgreSQL-グループロールを追加した後、パスワード認証が失敗する

    3. rewriteBatchedStatements=trueを使用したMySQLおよびJDBC

    4. Ruby on Rails 5.2のActiveRecord移行でテーブルを作成するときに使用するシーケンスを定義するにはどうすればよいですか?