私はCURDATE()
からの最も近い(前と次の)日付を示すはずのSQLクエリを組み合わせることに問題があります。SQLクエリは、最も近い前と次の日付を取得しますか?
テーブルとテーブルを持っている
:
konto_odbiorcy | name
---------------+----------------
2 | Sony LTD
3 | Panasonic LTD
etc...
これは私がイベントにテーブルに持っているものです:
number | date
-------+-------------
2 | 2016-11-01
2 | 2016-11-06
2 | 2016-11-14
3 | 2016-11-02
3 | 2016-11-21
3 | 2016-11-26
私は過去の過去の日付と次の最も近い将来の日付が何であるかを知る必要があります。
number | date past | date future
-------+-------------+-------------
2 | 2016-11-06 | 2016-11-14
3 | 2016-11-02 | 2016-11-21
ご覧のとおり
は、number=3
のために示してくれ2016-11-21
ない2016-11-26
私が一番近い日を過ぎ示したい
:
SELECT number, date AS past
FROM 3ce_event
WHERE date <= CURDATE()
次のイベントのためにこれを比較する方法を今
SELECT number, date AS future
FROM 3ce_event
WHERE date >= CURDATE()
2私の顧客テーブルを1つのSQLクエリで?私はマイク答えに私のクエリを変更
EDIT
:
select
number, klienci_ax_all.nazwa, miasto,
max(case when date<=curdate() then date end) as date_past,
min(case when date>=curdate() then date end) as date_future
from 3ce_event
inner join klienci_ax_all on 3ce_event.number = klienci_ax_all.konto_odbiorcy
group by konto_odbiorcy
は本当に良い見えるが、私は私の顧客テーブル(klienci_ax_all
)との問題を抱えていました。 1人以上のお客様に3ce_event
テーブルに何もない場合、私はNull
date_pastとNull
date_futureというこの顧客を持っていません。
klienci_ax_all
の顧客の全リストが必要な場合は、過去および将来のデータが存在する場合は...ヘルプが必要ですか?これを行うには
私は自分の投稿を編集しました。それを確認できましたか?私はJOINオプションで混乱していると思う:( –
@ Triple_6 'INNER JOIN'を' RIGHT JOIN'に変更する – Mike
私はそれを知っています:)。多くのご協力ありがとうございます!今は完璧です。 –