SQLite: CREATE VIEW
-
Hallo zusammen
Kann es sein, dass SQLite, das erstellen eines Views inkl die Angaben der Spaltennamen nicht kennt ?
Also: CREATE VIEW V_Bezeichner (id, bez) AS SELECT ...
.. weil er mir immer wieder sagt, dass die Klammer da nicht hingehörtAndere Frage wäre natürlich, wie greife ich auf die Spalten (CREATE VIEW V_Bezeichner AS SELECT...) zu, da ich die Spaltennamen ja nicht angeben kann, sonst hätte ich ja nur die Möglichkeit alles anzuzeigen mit "SELECT * FROM V_Bezeichner". Ich brauche also irgendwie sowas wie "SELECT V_Bezeichner.id FROM V_Bezeichner"
Wäre toll, wenn jemand weis, wie sowas zu lösen ist
-
Hallo,
die Spaltennamen werden aus dem SELECT-Statement genommen. Alles andere wäre auch unnötig, da es sich ja nur um eine Sicht der Dinge handelt.
z. B.
CREATE VIEW v_Test AS SELECT name, surname AS nachname, alter FROM t_addressbuch;
"SELECT * FROM vTest" würde zurückgeben:
name | nachname | alter
Max | Muster | 99
...
-
Ja, richtig, nur...
Warum sagt er mir dann, dass anhand von "SELECT V_Test.name FROM V_Test", name als Spalte nicht gefunden wurde ?!
-
kannst du bitte mal das komplette skript schicken. da muss was anderes faul sein (denke ich mal).
-
Habe das Script im Moment nicht hier, erst am Montag wieder. Aber es ist sowas wie..
CREATE VIEW V_Bez AS SELECT Language.id, Language.de FROM Language
Sobald ich dann die "id" haben möchte von V_Bez, sagt er mir, dass er diese "id" nicht kennt..
SELECT V_Bez.id FROM V_Bez
-
Sorry für die späte Antwort...
Hmm, also bei mir geht das.
Versuch mal die Abfrage ohne die Tabelle als Präfix aufzurufen, da die Spaltennamen ja eh eindeutig sind. Sonst wüsst ich im Moment echt nicht, wo man noch ansetzen könnte. Aber wär schön, wenn du eine Info abgeben würdest sobald du eine Problemlösung bzw. den Grund dafür hast
-
..habs gelöst, einfach ein AS im SELECT einfügen
CREATE VIEW V_Bez AS SELECT Language.id AS "id", Language.de FROM Language AS "de"
..anschließend kann man die jeweilige Spalte abfragen..
SELECT V_Bez.id FROM V_Bez
Trotzdem danke shadow