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

SELECTステートメントの列数が異なります

    これは、最初のSELECT および2番目のSELECT Distanceを導入したため、列の数はさまざまです。 2番目のSELECT

    したがって、Distanceを作成してみてください 最初のクエリでは、次のようにnullまたは0になります。

    SELECT * FROM
    (
       SELECT *, 0 as Distance
       FROM user u
       INNER JOIN employee e ON (u.empid = e.empid)
       INNER JOIN awards a ON (u.empid = a.empid)
       WHERE u.empid = 123
    
       UNION
    
       SELECT *, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) )+ sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance
       FROM user u
       INNER JOIN employee e ON (u.empid = e.empid)
       INNER JOIN awards a ON (u.empid = a.empid)
       HAVING distance < 25
       ORDER BY distance
    ) a
    ORDER BY timestamp DESC
    


    1. 致命的なエラー:未定義の関数session_register()の呼び出し

    2. switchステートメントにコンマで値を挿入する方法

    3. ClusterControlを使用したSpiderでのMariaDBシャーディングのデプロイ

    4. SQLServerの複数の列に一意の制約を作成する方法-SQLServer/TSQLチュートリアルパート96