に日付と価格の表があります。指定した日付に有効な価格
Date Price 2012-01-01 25 2012-01-05 12 2012-01-10 10
「2012-01-07」の現在の価格を見つけるための機能がありますか?他の日のことを知らずに。
Pseudoquery:選択価格currentprice( '2012-01-07')
ありがとう!
に日付と価格の表があります。指定した日付に有効な価格
Date Price 2012-01-01 25 2012-01-05 12 2012-01-10 10
「2012-01-07」の現在の価格を見つけるための機能がありますか?他の日のことを知らずに。
Pseudoquery:選択価格currentprice( '2012-01-07')
ありがとう!
のMySQL:
select price from your_table
where date <= '2012-01-07'
order by date desc
limit 1
SQL Serverの:
select top 1 price from your_table
where date <= '2012-01-07'
order by date desc
人はここで役立ちます...私は離れてすべての答えを得ました...もちろん、それは簡単でした:) – freand
あなたはROW_NUMBER(の使用を持っていない場合)、および一般的なソリューションをしたい、あなたは、サブクエリに参加する必要があり。
希望の日付を取得し、その日付のデータを取得します。
SELECT
*
FROM
yourTable
INNER JOIN
(
SELECT MAX(yourDate) AS maxDate FROM yourTable WHERE yourDate <= @dateParameter
)
AS lookup
ON yourTable.yourDate = lookup.maxDate
select price
from table1 t
where t.date = (select max(t2.date)
from table1 t2
where t2.date <= '2012-01-07')
注私たちはあなたのdate
列のデータ型が何であるかを知らないいないので、これは、コピー&ペースト答えではありません。
本当に '<= 2004'を望んでいない限り、あなたの日付の周りに何かを入れてください。 – MatBailie
@これはアウト。 –
DBMSとは何ですか?日付は文字列または日付データ型として格納されていますか? –
テーブルには自動対応IDと製品IDがありますか?あなたのためにクエリを作成できることが重要です。 – JotaBe
「2012-01-07」の価格はいくらですか?それは最後の価格設定ですか、それとも別の方法で決定されていますか? – SWeko