Zwei Views verbinden

fiona08

New Member
Hallo Leute,

ich möchte 2 Views mit einander zu einer einzigen View verbinden. Wie kann ich es machen?
Also View „ListeAlleJahreDerDB1“ und „ListeAlleJahreDerDB1“ zu View „ListeAlleJahreDerDB“

Unten sind die Views:

--*** Das Datum **************
create view ListeAlleJahreDerDB1(Datum)
as
select DISTINCT auto.zeitraum from autoDaten
union select DISTINCT jahr.zeitraum from jahrDaten
union select DISTINCT strasse.zeitraum from strasseDaten



--*** nur das Jahr **************
create view ListeAlleJahreDerDB2(Datum)
as
select DISTINCT SUBSTRING(convert(varchar, auto.zeitraum,110),7,10) from autoDaten
union
select DISTINCT SUBSTRING(convert(varchar, jahr.zeitraum,110),7,10) from jahrDaten
union
select DISTINCT SUBSTRING(convert(varchar, strasse.zeitraum,110),7,10) from strasseDaten


Danke im Voraus
Fiona
 
Hi,

du kannst auf den Views basierend ein UNION machen. Ich bin mir grade nicht sicher, ob MySQL das unterstützt, aber zumindest der SQL-Standard sieht das vor.

D.h. im Sinne von (ungetestet):

Code:
CREATE VIEW neu AS
(SELECT A.name FROM VIEW_A A
UNION
SELECT B.name FROM VIEW_B B)

Entscheidend ist, dass die Typen + Namen der Spalten identisch sind.

Das sollte meiner Meinung nach gehen. Nur bei deinen converts + substrings bin ich nicht sicher, ob das mit den Typen der Spalten noch hinhaut... Daher musst du evtl. nochmal casten bzw. umbenennen.

Für was ist das convert etc. eigentlich? Gibt es da nichts eleganteres?

Dennis
 
Last edited by a moderator:
Hallo Dennis,

vielen dank für diene Antwort. SUBSTRING(convert(varchar...) ist damit ich nur die Monate bzw. das Jahr aus mein Datum auslesen kann. Ich werde dein Code testen und dir bescheid geben, ob es funktioniert oder nicht.

Übrigens ich benutze Sql Server 2005.

Danke
Fiona
 
Back
Top