Veröffentlicht 30. Juli 200223 j 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
30. Juli 200223 j 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. ...)
30. Juli 200223 j Autor 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
30. Juli 200223 j 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
30. Juli 200223 j Autor 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?
30. Juli 200223 j Autor 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
30. Juli 200223 j 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 !
30. Juli 200223 j 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ß
30. Juli 200223 j 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 !
30. Juli 200223 j ...womit die Frage dann ja wohl geklärt sein dürfte, dass die ganze Sache mit Create View net funzen will....
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.