Sol tablodaki her bir satır için sağ tablodaki tüm satırları çaprazlar
Örnek - interval
Elimizde şöyle iki tablo olsun
attendance değerlerini günlük olarak görmek istersek şöyle yaparızcreate table employee (id int,name char(20),division_id int);create table attendance (id int,employee_id int,activity_type int,created_at timestamp);
Çıktı olarak şunu alırız. Burada her created_day için tüm çalışanları (toplam 5 kişi) teker teker yazdıSELECTdays::date AS created_date, e.* FROM ( SELECT MIN(created_at), MAX(created_at) FROM attendance) AS r(startdate,enddate),
generate_series( startdate::timestamp, enddate::timestamp, interval '1 day') g(days) CROSS JOIN employee e
created_date id name division_id2020-11-18 1 John 12020-11-18 2 Amber 22020-11-18 3 Mike 12020-11-18 4 Jimmy 12020-11-18 5 Kathy 22020-11-19 1 John 12020-11-19 2 Amber 22020-11-19 3 Mike 12020-11-19 4 Jimmy 12020-11-19 5 Kathy 2
Hiç yorum yok:
Yorum Gönder