2016-08-10 5 views
0

私は、MySQL 5.5を使用して上記のクエリは正常に動作し、次のクエリ間隔減算の列

SELECT a.id, a.created 
FROM apps AS a 
    INNER JOIN bats AS b ON a.bat_id = b.id 
WHERE a.created > NOW() - INTERVAL 30 DAY 

を持っていますを使用します。問題ありません。しかし、私は以下のようにクエリを変更したいと思います

SELECT a.id, a.created 
FROM apps AS a 
    INNER JOIN bats AS b ON a.bat_id = b.id 
WHERE a.created > NOW() - INTERVAL b.unit_duration DAY 

どのように私は同じ達成することができますか?ありがとうございます...

+0

**私はどのように同じことを達成することができますか?**これによって何を意味しましたか? – 1000111

+0

2番目のクエリを実行しようとすると、エラーが発生します。明らかに列の名前はINTERVALの減算では許可されていませんが、回避策があるかどうか、同じ結果を得る別の方法があるかどうかを知りたい場合は – ChicagoSky

+0

正確なエラーメッセージを投稿してください。 – 1000111

答えて

1

2番目のクエリを変更する必要はありません。MySQL 5.5でテストしたところ、カラム名を使用しても速度は低下しますが、実行されました。私が使用した列は整数だったので、整数列を使用していない場合は、変換関数を使用する必要があります。