2012-03-11 13 views
1

私はMySql 5.5を使用しています。のは、私のテーブルのサンプルを見てみましょう:私は将来にいるだけこれらの日付を選択しますクエリを必要とするSQLクエリを作成するためのヘルプが必要

pickupid pickuplocation  Date1  Date2  Date3  Date4 
1   Collingwood   1328079600 1330585200 1333260000 1335852000 
2   Varsity    1328079600 1330585200 1333260000 1335852000 
3   Canmore    1328079600 1330585200 1333260000 1335852000 
4   Westbrook   1328079600 1330585200 1333260000 1335852000 

。日付が過去のものである場合、クエリはその日付をスキップする必要があります。 Select with Have、Or、Where &とANDを使って試してみました。日付のうちの1つが過去にあった場合、クエリ全体がゼロの結果で戻ってくるので、私のクエリは失敗します。はい、私は私のテーブルを他の方法、つまり列の位置と行の日付を使って配置すると、それを簡単にすることができます - 私はそれを試みましたが、私のHTMLレポートが対応しなければならないので、 50ヵ所以上の場所で、4つの日付のみ

多くの皆さん、ありがとうございました!

+3

これまでに試したクエリと出力を共有してもよろしいですか? –

+0

擬似... SELECT * FROMテーブルwhere date1> now()またはdate 2> now()など...? –

+3

必要な出力の例を提示する必要があります。あなたは十分な情報を与えておらず、あなたが提供したものはいくつかの方法で解釈することができます:(1)将来の日付を持つすべての行。 (2)同じですが、過去の日付についてはnullを返します。 (3)将来すべての日付を持つすべての行 –

答えて

2

取得しようとしていることに関する詳細はあまりないので、私はちょうど推測していますが、次のクエリは、日付の1つが将来の日付、将来の日付の列にはデータが含まれ、その他の列にはNULLが設定されます。

あなたは、あなたの処理でヌルの日付を除外することができます...

は、これはあなたがのために行っているとは何ですか?

SELECT 
    pickupid, 
    pickuplocation, 
    IF(Date1 > NOW(),Date1,NULL) AS Date1, 
    IF(Date2 > NOW(),Date2,NULL) AS Date2, 
    IF(Date3 > NOW(),Date3,NULL) AS Date3, 
    IF(Date4 > NOW(),Date4,NULL) AS Date4 
FROM 
    locations_table 
WHERE 
    Date1 > NOW() 
    OR Date2 > NOW() 
    OR Date3 > NOW() 
    OR Date4 > NOW()