Mssql select kérdés

Sziasztok!

Adott két tábla:

első tábla:
datum |A |B
2010.01.01 |5 |NULL
2010.01.02 |6 |7

második tábla
datum |C |D
2010.01.01 |2 |7
2010.01.02 |1 |8
2010.01.03 |3 |4

a két táblából a következő eredménytáblára lenne szükségem:

datum |A |B |C |D
2010.01.01 |5 |NULL |2 |7
2010.01.02 |6 |7 |1 |8
2010.01.03 |NULL |NULL |3 |4

A két tábla használatával elő lehet állítani az eredmény táblát valahogy?
Vagy kell nekem egy harmadik tábla, ami tartalmazza az összes napot és ahhoz join-oljam a két táblát?

dátum tábla (pl):
datum
2010.01.01
2010.01.02
2010.01.03
...
...
...
2010.03.02

Ti hogyan oldanátok meg?
Köszi a válaszokat

Üdv,
bandorka

Hozzászólások

hát, ma nem vagyok a helyzet magaslatán, de próbálok segíteni

SELECT TABLE1.*, TABLE2.C, TABLE2.D
FROM TABLE1 INNER JOIN TABLE2 ON (TABLE1.DATUM = TABLE2.DATUM)

ms sql szerveren ha létrehozol egy view-t, és az sql utasításba a fenti kódot beírod, akkor úgy fogod látni, mintha a view egy tábla lenne.
________________________________________________
http://kronosz.sinuslink.hu

Csak a pontosítás kedvéért
Mindkét táblából hiányozhatnak napok?
Egy nap ugyanabban a táblában csak egyszer fordulhat elő?

Szerk: Egyébként leírnád, hogy mit tárolsz, mivel nekem nem tűnik életszerűnek a dolog, vagy szerkezeti probléma van (lehet tényleg kell még egy tábla)

Igen mindkét táblából hiányozhat, sőt (mea culpa) kiegészítem. 8 ilyen táblám (tehát az eredmény táblában lesz egy dátum oszlop, meg 16 egyéb oszlop - amiben a számok vannak) van és bármelyikből hiányozhat bármelyik nap, de az eredménynek tartalmaznia kell mindegyik napot, max NULL érték lesz az egyéb oszlopban.
Egy nap ugyanabban a táblában csak egyszer fordulhat elő.

Sziasztok!

Na, ma változott a felállás (kedves ügyfél kérésére), kicsit bonyolódott a drámai feszültség. Kifejtem:

"A" tábla
nap |nev |db_a |ido_a
2010.01.01 |AgentA |5 |80
2010.01.01 |AgentB |3 |60
2010.01.01 |AgentC |7 |120
2010.01.02 |AgentA |10 |200
2010.01.02 |AgentB |1 |10

"B" tábla:
nap |nev |db_b |ido_b
2010.01.01 |AgentA |2 |20
2010.01.01 |AgentB |4 |40
2010.01.01 |AgentD |6 |60
2010.01.02 |AgentA |8 |80
2010.01.02 |AgentB |10 |100
2010.01.02 |AgentC |12 |120
2010.01.03 |AgentA |14 |140

"C" tábla:
nap |nev |db_c |ido_c
2010.01.03 |AgentA |50 |2500

És ezt szeretnék:
nap |nev |db_a |ido_a |db_b |ido_b |db_c |ido_c
2010.01.01 |AgentA |5 |80 |2 |20 |NULL |NULL
2010.01.02 |AgentA |10 |200 |8 |80 |NULL |NULL
2010.01.03 |AgentA |NULL |NULL |14 |140 |50 |2500
2010.01.01 |AgentB |3 |60 |4 |40 |NULL |NULL
2010.01.02 |AgentB |1 |10 |10 |100 |NULL |NULL
2010.01.03 |AgentB |NULL |NULL |NULL |NULL |NULL |NULL
2010.01.01 |AgentC |7 |120 |NULL |NULL |NULL |NULL
2010.01.02 |AgentC |NULL |NULL |12 |120 |NULL |NULL
2010.01.03 |AgentC |NULL |NULL |NULL |NULL |NULL |NULL
2010.01.01 |AgentD |NULL |NULL |6 |60 |NULL |NULL
2010.01.02 |AgentD |NULL |NULL |NULL |NULL |NULL |NULL
2010.01.03 |AgentD |NULL |NULL |NULL |NULL |NULL |NULL

A,B,C táblában egy nap többször szerepelhet, de napon belül a név csak 1x. A darab és idő mezők összesített eredmények az aktuális napra az aktuális névhez - és minden táblában mást összegeznek. Az eredmény táblában a NULL helyett lehet 0 is és ahol minden érték NULL (vagy 0), az a sor elhagyható.

A végeredményre egy riportoló programnak van szüksége (ez tárolt eljárást nem tud hívni).
A feladat megoldására létezhet valamilyen join? Vagy állítsa elő az eredménytáblát egy naponta 1x futó SP, ami mindig feldolgozza az előző napi adagot?
Egyelőre a join-on molyolok, hátha...

ui: most csak 3 táblával modelleztem a problémát, de 8 táblát kell majd így feldolgozni.

Üdv,
bandorka