2017-11-09 5 views
0
select customer_id, street_address, city, state, zip 
from customer where min(date); 
+2

[tag:rdbms]は何を使用していますか? – Mureinik

+0

テーブルに顧客IDフィールドが必要ですか? –

+0

ようこそ!あなたの質問に答えるために、あなたのテーブル構造、問題のデータベースシステム(Oracle、MySQL、MSSQL、DB2、HANA、HSQLなど)を含むすべての関連する詳細を必ず記入してください。あなたが提供する詳細があれば、より迅速にあなたの質問に答えることができます。あなたの質問が既に答えられているかもしれない例については、慎重に検索してください。 –

答えて

0

を戻すわけではない:

select customer_id, street_address, city, state, zip from customer 
qualify row_number() over(partition customer_id order by date)=1 

その他のオプション:

select customer_id,street_address, city, state, zip from customer a 
inner join (select customer_id, min(date) as min_date from customer group by customer_id) b 
on a.customer_id=b.customer_id and a.date=b.min_date 
+0

私はもっと説明的なはずだったのはごめん。 「その他のオプション」は、必要なデータを返しますが、1行しか返しません。私は各顧客に複数のエントリがあり、最も早い日付の顧客ごとに1行戻したいと思っています。すべてを取り戻すために、あなたはどのようにそれを変更しますか?ありがとうございました! – smithcl13

+0

aha :)私はそれについて明確ではありませんでしたが、あなたはTeradataかnoを使用していますか? – Stassi

+0

私は元の投稿を編集したばかりです。今すぐコードを確認してください。 – Stassi

0

はあなたを検討していますこれをT-SQLで試してみてください。 CTEのために読んで

select 'a123' street_address, 'as' city,'ap' state, 123456 zip, cast(getdate()-10 as date) [day] into #temp 
insert into #temp values('b12','ad','aw',345478,cast(getdate()-1 as date)) 
insert into #temp values('c243','a2','a3',3458,cast(getdate()-12 as date)) 
insert into #temp values('e3d','a2','af',8324,cast(getdate()-13 as date)) 
insert into #temp values('f46','a3','ag',337,cast(getdate()-13 as date)) 
insert into #temp values('g23','a4','ah',0374,cast(getdate()-1 as date)) 
insert into #temp values('h12','af','aj',946,cast(getdate()-17 as date)) 
insert into #temp values('634','ad','a8',345,cast(getdate()-17 as date)) 

select * from #temp 

--Query to return min valued row 
;with q as (select min(day) minday from #temp) 
select street_address, city, state, zip from #temp t cross apply q where t.day=q.minday 

ブログ:すべてのRDBMSで動作する最も簡単な解決策のオン https://www.red-gate.com/simple-talk/sql/t-sql-programming/sql-server-cte-basics/

0

です:あなたは例が

CTE(共通テーブル式)を使用して試すことができます

select customer_id, street_address, city, state, zip 
from customer 
where date in (select min(date) from customer) 
; 
関連する問題