WHERE句にAND条件をループで出力させるときは、ループ前に1 = 1
を書く。
SELECT *
FROM テーブル名
WHERE 1 = 1
<CFLOOP ループ条件>
AND カラム名 = #変数名#
</CFLOOP>
OR条件をループで出力させる時は、ループ前に1 = 0
を書く。
SELECT *
FROM テーブル名
WHERE 1 = 0
<CFLOOP ループ条件>
OR カラム名 = #変数名#
</CFLOOP>
こうすることで、「1回目のループはAND
を出力しないようにIF文を入れる」とかやらなくて済みます。
(ColdFusionで書きましたが、言語は何にでも置き換えできるかと思います)