2016-11-16 1 views
0

Ich habe eine Tabelle namens matchresults die mresultid, playerid, seasonmatchid, Rang, ratingsearnedview-Anweisung erstellen eine leere Ergebnismenge

mresultid ist der Primärschlüssel und playerid und seasonmatchid sind Fremdschlüssel

genannt fünf Spalten

Das Problem ist, dass, wenn ich versuche, einen Blick auf diese Tabelle zu erstellen:

DROP VIEW IF EXISTS matchresults_view; 
CREATE VIEW matchresults_view AS 
select mresultid, playerid, seasonmatchid 
from matchresults 
where id = 8 ; 

die Abfrage ausgeführt wird, aber es sagt mysql ein leeres Ergebnis zurückgegeben. Dies ist nicht wahr, da ich zwei Tupel in der Ergebnismenge haben sollte.

Was ist falsch an der Abfrage?

+0

Sind Sie später die Ansicht mit (* von matchresults_view wählen), um die Ansicht zu überprüfen? –

+0

Nein, ich überprüfe die Ansicht nicht. Ich versuche nur, es zu schaffen. – hussein

Antwort

0

Nun, Sie erstellen eine Ansicht. Dieser Befehl gibt keine Zeilen zurück. Es erstellt einfach eine Ansicht, die Sie später in Ihren Abfragen verwenden können. Nun müssen Sie wie unten die Sicht abfragen, um zu sehen, was es gibt:

select * from matchresults_view 
+0

Oh ja, es hat funktioniert. Das habe ich komplett vergessen. Gibt es eine Möglichkeit, die beiden zu kombinieren, um nur eine Abfrage zu haben? Wie eine Abfrage, die die Ansicht erstellt und danach fragt, ob Daten abgerufen werden sollen. – hussein

+0

Nein, das ist nicht möglich. Das müsste innerhalb einer Funktion gemacht werden, aber ich denke, Sie gehen in die falsche Richtung. Was versuchst du zu erreichen? –

+0

Eigentlich habe ich gerade die View-Syntax in meinen Datenbanktabellen getestet. Nicht versuchen, etwas Bestimmtes zu erreichen. Dies ist so, weil gesagt wird, dass Ansichten verwendet werden können, um festzulegen, was ein bestimmter Mitarbeiter in einem Unternehmen beispielsweise aus einer Tabelle sehen darf. Das ist nur ein einfaches Beispiel, aber ich hoffe, Sie bekommen es. Danke für die Hilfe! – hussein

Verwandte Themen