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

すべての派生テーブルには、独自のエイリアスエラーが必要です

    サブクエリのエイリアスが必要であり、結合する両方のクエリに条件を適用する必要があります。

    SELECT MAX(DateTime)
    FROM (
    
      SELECT DateTime
      FROM Class_Searches
      WHERE User_Email = '[email protected]'
      AND DateTime > NOW( ) - INTERVAL 30 DAY
    
      UNION ALL
    
      SELECT DateTime
      FROM Book_Searches
      WHERE User_Email = '[email protected]'
      AND DateTime > NOW( ) - INTERVAL 30 DAY
    
    ) AS x
    

    または、外部クエリで条件を適用できるようにデータを返します:

    SELECT MAX(DateTime)
    FROM (
    
      SELECT DateTime, User_Email
      FROM Class_Searches
    
      UNION ALL
    
      SELECT DateTime, User_Email
      FROM Book_Searches
    
    ) AS x
    WHERE User_Email = '[email protected]'
    AND DateTime > NOW( ) - INTERVAL 30 DAY
    


    1. 世界のバックアップの日:知っておくべき4つの興味深いデータ損失の事実

    2. 列数が行1の値数と一致しません

    3. SQLServerの指定された位置にあるリストアイテムを見つける方法

    4. MySQLで完全外部結合をシミュレートする効率的な方法は?