Kanälen (das könnte Ralph vielleicht einbauen):
Code:
create table prgview as
select distinct
tall.time as time
,tch1.time as ch_1
,tch1.prog as pg_1
,tch2.time as ch_2
,tch2.prog as pg_2
,tch3.time as ch_3
,tch3.prog as pg_3
,tch4.time as ch_4
,tch4.prog as pg_4
from prograw as tall
left join prograw as tch1 on (tall.time = tch1.time) and (tch1.ch=1)
left join prograw as tch2 on (tall.time = tch2.time) and (tch2.ch=2)
left join prograw as tch3 on (tall.time = tch3.time) and (tch3.ch=3)
left join prograw as tch4 on (tall.time = tch4.time) and (tch4.ch=4)
;
Das ist eine interessante Idee mit den x-fachen Joins auf sich selbst. So clever hab ich gar nicht gedacht. Auch dieses Statement läßt sich ja dynamisch generieren und das sollte das Ziel sein, denn man will das ja nicht jedes mal neu anpacken, nur weil ein Sender dazugekommen ist.
Das einzige Problem ist dabei das Ganze in einen Zeitraum zu "Zwängen", denn dann bekommt man ja pro Tabellenzelle, wenn man so will, u.U. mehrere Ergebnisse, siehe 7-8 Uhr die beiden Big Bangs.
Da würde meine Variante auf jeden Fall an die Wandfahren, ala "single-
query returns more than one object". Die join-Variante ließe sich so gestalten, dass die das überlebt, glaub ich.
Delphi-Quellcode:
---------------------------------------------------------------------
05:00 | 05:50 - 05:20 | 05:30 - 10:00 ... | 05:35 - 06:15
| Wa are Family | Die dreisten drei | Die Nanny
---------------------------------------------------------------------
07:00 | 07:30 - 07:50 | 07:20 - 08:20 ... |
| The Big Bang | Infomercials .... |
| ............. | ................. |
| 07:50 - 08:20 | ................. |
| The Big Bang | ................. |
---------------------------------------------------------------------
08:00 |