1

私は2つのテーブルを持っています:

  1. イベントシリーズ
  2. イベント

すべての ' event ' は、event_serie_id外部キーと明らかにイベントの開始時刻 (YYYY-MM-DD HH:MM:SS 形式) である date_time 列によって' event_serie ' と関係があります。

ここで、私にとって面白くて非常に難しい部分です-過去のイベントのみ、またはまったくイベントがない「 event_serie」を選択するにはどうすればよいですか? 言い換えれば、今日と未来のイベントがない、またはイベントがない「event_serie」を見つける必要があります。

mysql と doctrine2 の両方の例に感謝します (実際に DQL を使用できる場合のみ)。

アイデアはありますか?

4

2 に答える 2

2
SELECT * 
  FROM my_table x
  LEFT
  JOIN my_other_table y 
    ON y.id = x.id
   AND y.date >= NOW()
 WHERE y.id IS NULL;

?

于 2013-01-21T10:55:15.330 に答える
0
SELECT  a.*, b.*, c.latestDate
FROM
        event a
        LEFT JOIN event_serie b
            ON a.event_serie_id = b.event_serie_id
        LEFT JOIN
        (
            SELECT  event_serie_id, MAX(date_time) latestDate
            FROM    event_serie
            GROUP   BY event_serie_id
        ) c ON a.event_serie_id = c.event_serie_id
WHERE   b.event_serie_id IS NULL OR
        b.date_time < c.latestDate
于 2013-01-21T10:52:32.440 に答える