Containy Geschrieben 30. Juli 2002 Geschrieben 30. Juli 2002 Hallo Leute, bin Anfänger mit SQL und bin jetzt so ein bisschen am Tabellen und Sichten erstellen. Ich benutze mysql mit mysql-front und habe eine Tabelle die seite65 heißt erstellt. Jetzt wollte ich eine Sicht dazu erstellen: create view sicht as select seite65.vorname, seite65.name from seite65 where seite65.straße = 'Sesamstraße 1'; Do wenn ich das ganze dann probiere kommt, dass ich einen SyntaxFehler habe. Aber der Code müsste doch stimmen, oder? Danke, Christian Zitieren
UBAI Geschrieben 30. Juli 2002 Geschrieben 30. Juli 2002 Wie lautete denn die Fehlermeldung ? eine view erzeugt man mit folgendem Source: create view Sicht as select vorname,name from seite65 where straße = 'Sesamstraße 1'; Müßte Laufen. Bei Tabellenverknüpfungen nimm Aliasnamen für die Tabellen ("select k.Name,r.nr .... from Kunde k, Rechnung r ... where k.Nr. = R.Kdnr. ...) Zitieren
Containy Geschrieben 30. Juli 2002 Autor Geschrieben 30. Juli 2002 Hallo UBAI, die Kurzform habe ich auch schon getestet. diese Fehlermeldung ist gekommen: Error: 1064 - You have an error in your SQL syntax near 'view sicht1 as select vorname,name from seite65 where straße = 'Sesamstraße 1' at line 1 Gruß Containy Zitieren
Commander_COM Geschrieben 30. Juli 2002 Geschrieben 30. Juli 2002 Du machst das glaube ich so: create view sicht as select seite65.vorname, seite65.name from seite65 where seite65.straße = 'Sesamstraße 1'; das ist aber nicht ganz richtig. wenn du schon schreibst seite65.vorname dann musst du sql auch sagen, was seite 65 ist. entweder lässt du dass mit der seite weg: 1. create view sicht as select vorname, name from seite65 where straße = 'Sesamstraße 1'; dann müsste es gehen oder du machst es kompliziert und schreibst: 2. create view sicht as select s65.vorname, s65.name from seite65 s65 where straße='Sesamstraße'; damit kannst du zum beispiel dann auch noch andere Tabelle mit reinnehmen, z.b. 3. create view sicht as select s65.vorname, s65.name, g.Datum from seite65 s65, Geburtstag g where straße='Sesamstraße' and Datum='01-01-01' and g.Personid=s65.Personid; dann hast du aus der tabelle Geburtstag noch das datum herausgenommen, und erhälst alle leute, die in der sesamstrasse wohnen und am 01.01.2001 Geburtstag haben. Nicht vergessen, am Ende noch die Verknüpfung mit "g.Personid=s65.Personid" herzustellen, ansonsten gehts nicht. Ich hoffe, das hat dir geholfen. Bye Zitieren
Containy Geschrieben 30. Juli 2002 Autor Geschrieben 30. Juli 2002 Seite65 ist die Tabelle namens Seite65 create view sicht as select vorname, name from seite65 where straße = 'Sesamstraße 1'; habe ich eingefügt, und trotzdem kommt die Fehlermeldung: siehe oben! Das ist aber der richtige Code, oder? Zitieren
Containy Geschrieben 30. Juli 2002 Autor Geschrieben 30. Juli 2002 habe creat view sicht1 weggelassen und jetzt funktionierts, jetzt bekomme ich die 2 die in der Sesamstraße wohnen angezeigt, aber der Code sollte doch mit create view sein, so stehts auch in meinem Buch! Oder, dass das sein, dass mein MySQL-Front das nicht unterstützt, das wäre ziemlich schlecht, weil dann könnte ich auch Klickie-Access nehmen, das kennt nämlich auch keinen create view! Ciao Gruß und Danke Containy Zitieren
UBAI Geschrieben 30. Juli 2002 Geschrieben 30. Juli 2002 das es jetzt geklappt hat ist klar. Schließlich ist es jetzt eine reine select Abfrage. Lad dir doch mal bei mysql.de oder .com das Handbuch runter. Oder nimm mal ein Viewname ohne Zahl create view sicht .... Gruß UBAI - Kaum macht mans richtig, schon funktionierts ! Zitieren
Commander_COM Geschrieben 30. Juli 2002 Geschrieben 30. Juli 2002 schau einfach mal im Netz, da gibt es anständige Online Bücher zu MySQL, wo nich so ein Schnulli mit create view etc. drinsteht. Ne Select-Anweisung is doch nun wirklich so einfach.... da muss man doch nix mit view etc. machen oder? Gruß Zitieren
Commander_COM Geschrieben 30. Juli 2002 Geschrieben 30. Juli 2002 Zwee Dumme een Jedanke... :D Gruß @UBAI Zitieren
UBAI Geschrieben 30. Juli 2002 Geschrieben 30. Juli 2002 Hier ein Nachtrag aus dem Handbuch: MySQL - Handbuch (engl) 1.7.4.6 Views It is planned to implement views in MySQL around Version 4.1. Views are mostly useful for letting users access a set of relations as one table (in read-only mode). Many SQL databases don't allow one to update any rows in a view, but you have to do the updates in the separate tables. As MySQL is mostly used in applications and on web system where the application writer has full control on the database usage, most of our users haven't regarded views to be very important. (At least no one has been interested enough in this to be prepared to nance the implementation of views). One doesn't need views in MySQL to restrict access to columns as MySQL has a very sophisticated privilege system. See Section 4.2 [Privilege system], page 173. Gruß UBAI - Kaum macht mans richtig, schon funktionierts ! Zitieren
Flori Geschrieben 30. Juli 2002 Geschrieben 30. Juli 2002 ...womit die Frage dann ja wohl geklärt sein dürfte, dass die ganze Sache mit Create View net funzen will.... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.