Wieso kann Primärschlüssel nicht abgefragt werden?
Moderator: Moderatoren
Wieso kann Primärschlüssel nicht abgefragt werden?
Hallo,
Ich habe da mal eine Verständnisfrage. Ich habe mich in letzter Zeit unter anderem mit folgender Seite weiter in SQL eingearbeitet.
http://www.w3schools.com/SQl/sql_join_left.asp
Die Abfrage dort funktioniert so wie sie dargestellt ist einwandfrei. Sobald ich aber die Spalte O_Id (Primärschlüssel der Tabelle Orders) auch darstellen will, dann bekomme ich die Fehlermeldung: „Die Dateninhalte konnten nicht geladen werden. No data is available“.
Wenn ich jetzt eine extra Spalte O_Id2 mit den Daten anlege und die Abfrage darauf beziehe, dann funktioniert es wieder. Meine Frage ist nun, wieso können die Daten der Spalte O_Id nicht angezeigt werden wenn sie als Primärschlüssel hinterlegt sind?
Gruß,
eve
Ich habe da mal eine Verständnisfrage. Ich habe mich in letzter Zeit unter anderem mit folgender Seite weiter in SQL eingearbeitet.
http://www.w3schools.com/SQl/sql_join_left.asp
Die Abfrage dort funktioniert so wie sie dargestellt ist einwandfrei. Sobald ich aber die Spalte O_Id (Primärschlüssel der Tabelle Orders) auch darstellen will, dann bekomme ich die Fehlermeldung: „Die Dateninhalte konnten nicht geladen werden. No data is available“.
Wenn ich jetzt eine extra Spalte O_Id2 mit den Daten anlege und die Abfrage darauf beziehe, dann funktioniert es wieder. Meine Frage ist nun, wieso können die Daten der Spalte O_Id nicht angezeigt werden wenn sie als Primärschlüssel hinterlegt sind?
Gruß,
eve
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Wieso kann Primärschlüssel nicht abgefragt werden?
Bei welcher Abfrage (SQL-Code) funktioniert das bei Dir nicht?
OOo Version und Betriebssystem?
Welche Datenbank nutzt Du? Treiber?
Hier klappt eine Abfrage auf einen Primärschlüssel der eingebauten HSQLDB problemlos.
OOo Version und Betriebssystem?
Welche Datenbank nutzt Du? Treiber?
Hier klappt eine Abfrage auf einen Primärschlüssel der eingebauten HSQLDB problemlos.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Wieso kann Primärschlüssel nicht abgefragt werden?
Da ich mir nicht vorstellen konnte, warum das nicht funktionieren soll, habe ich das Beispiel mal mit OOo 3.2.0 auf Ubuntu 10.04 mit Java 1.6.0_16 und einer niegel nagel neuen HSQLDB ausprobiert. Und siehe da: Es funzt.eve hat geschrieben:Sobald ich aber die Spalte O_Id (Primärschlüssel der Tabelle Orders) auch darstellen will, dann bekomme ich die Fehlermeldung: „Die Dateninhalte konnten nicht geladen werden. No data is available“.
Sowohl:
Code: Alles auswählen
SELECT "Persons"."LastName", "Persons"."FirstName", "Orders"."OrderNo", "Orders"."O_Id"
FROM "Persons" LEFT JOIN "Orders" ON "Persons"."P_Id" = "Orders"."P_Id"
ORDER BY "Persons"."LastName"
Code: Alles auswählen
SELECT "Persons"."LastName", "Persons"."FirstName", "Orders"."OrderNo", "O_Id"
FROM "Persons" LEFT JOIN "Orders" ON "Persons"."P_Id" = "Orders"."P_Id"
ORDER BY "Persons"."LastName"
Code: Alles auswählen
LastName FirstName OrderNo O_Id
Hansen Ola 24562 4
Hansen Ola 22456 3
Pettersen Kari 44678 2
Pettersen Kari 77895 1
Svendson Tove 0
Re: Wieso kann Primärschlüssel nicht abgefragt werden?
Oh, ich hatte nicht nur die Spalte O_Id der Tabelle Orders, sondern auch die Spalte P_Id der Tabelle Persons abgefragt. In dem Fall kommt die Fehlermeldung. Wenn man P_Id aus der Tabelle Orders verwendet, dann geht es. Allerdings bleibt meine Frage trozdem in etwas abgeänderter Form bestehen. Warum kann mann O_Id nicht abfragen, wenn man zusätzlich P_Id aus einer anderen Tabelle abfragt?
Ich benutze übrigens OOo 3.3.0 und Windows XP/SP3
Ich benutze übrigens OOo 3.3.0 und Windows XP/SP3
Re: Wieso kann Primärschlüssel nicht abgefragt werden?
Auch das klappt wunderbar bei mir:eve hat geschrieben:Allerdings bleibt meine Frage trozdem in etwas abgeänderter Form bestehen. Warum kann mann O_Id nicht abfragen, wenn man zusätzlich P_Id aus einer anderen Tabelle abfragt?
Code: Alles auswählen
SELECT "Persons"."LastName", "Persons"."FirstName", "Orders"."OrderNo", "Orders"."O_Id", "Orders"."P_Id", "Persons"."P_Id" FROM "Persons" LEFT JOIN "Orders" ON "Persons"."P_Id" = "Orders"."P_Id" ORDER BY "Persons"."LastName"
Re: Wieso kann Primärschlüssel nicht abgefragt werden?
Hier ist der SQL:
Code: Alles auswählen
SELECT "Persons"."LastName", "Persons"."FirstName", "Orders"."OrderNo", "Orders"."O_Id", "Persons"."P_Id" FROM { OJ "Persons" LEFT OUTER JOIN "Orders" ON "Persons"."P_Id" = "Orders"."P_Id" } ORDER BY "Persons"."LastName" ASC
Re: Wieso kann Primärschlüssel nicht abgefragt werden?
Bei mir erzeugt dieses SQL keinen Fehler sondern folgenden Output:eve hat geschrieben:Hier ist der SQL:Code: Alles auswählen
SELECT "Persons"."LastName", "Persons"."FirstName", "Orders"."OrderNo", "Orders"."O_Id", "Persons"."P_Id" FROM { OJ "Persons" LEFT OUTER JOIN "Orders" ON "Persons"."P_Id" = "Orders"."P_Id" } ORDER BY "Persons"."LastName" ASC
Code: Alles auswählen
LastName FirstName OrderNo O_Id P_Id
Hansen Ola 24562 4 1
Hansen Ola 22456 3 1
Pettersen Kari 44678 2 3
Pettersen Kari 77895 1 3
Svendson Tove 0 2
Re: Wieso kann Primärschlüssel nicht abgefragt werden?
Ich habe die Tabelle und die Abfrage jetzt extra noch mal neu erstellt, aber wieder das gleiche. Ich bekomme nur die Fehlermeldung: "„Die Dateninhalte konnten nicht geladen werden. No data is available“.
Aber zumindest weiß ich jetzt, daß es prinzipiell schon möglich sein sollte und der Fehler wo anders liegt. Ich hatte mich nämlich gewundert, warum eine solche Abfrage nicht möglich sein sollte.
Gruß,
eve
Aber zumindest weiß ich jetzt, daß es prinzipiell schon möglich sein sollte und der Fehler wo anders liegt. Ich hatte mich nämlich gewundert, warum eine solche Abfrage nicht möglich sein sollte.
Gruß,
eve