いくつかの条件を使用して、開始日と終了日に基づいてレコードを選択しようとしています。基本的に、終了日がないもの、または特定の期間に開始するか、同じ特定の期間に終了するものが必要です。これがどのように達成されるかについての助けや指示は非常に高く評価されます. 以下のクエリの WHERE 部分とパラメーター バインディングを含めていますが、必要に応じてさらに含めることができます。
$periodsCxn->bindParam(':PositionID',$PositionID);
$periodsCxn->bindParam(':Start',$firstPayPeriod);
$periodsCxn->bindParam(':End',$lastPayPeriod);
$periodsCxn->bindParam(':Start2',$firstPayPeriod);
$periodsCxn->bindParam(':End2',$lastPayPeriod);
WHERE
POSITION_PERIOD.PositionID = :PositionID AND
(
(
POSITION_PERIOD.EndDate = '1900-01-01'
OR
POSITION_PERIOD.EndDate IS NULL
)
OR
(
POSITION_PERIOD.StartDate BETWEEN :Start AND :End
OR
POSITION_PERIOD.EndDate BETWEEN :Start2 AND :End2
)
)