AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQL Unterabfrage= kein ergebniss
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Unterabfrage= kein ergebniss

Ein Thema von Teekeks · begonnen am 15. Apr 2009 · letzter Beitrag vom 15. Apr 2009
Antwort Antwort
Seite 1 von 2  1 2      
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#1

SQL Unterabfrage= kein ergebniss

  Alt 15. Apr 2009, 14:01
Datenbank: MySQL • Version: 4.0.18 • Zugriff über: TMySQL40Conection
Hi!
Ich will eigentlich nur eine ganz einfache Unterabfrage bei MySQL vornehmen.
SQL-Code:
SELECT *
FROM Buecher where Nummer =
(
select BuchNR
from Ausleihvorgang
where NutzerNR = 2
)
Es müsste eigentlich das Buch mit der Nummer 3 zurück kommen.
(in Ausleihvorgang ist der datensatz:
NutzerNR= 2
BuchNR= 3
und in Buecher ist dieser:
Nummer=3)

Wisst ihr was ich falsch mache?
Ich hab echt nicht viel Erfahrung mit SQL.
Ich hab nur vor mir ein Buch mit dem ich nicht weiterkomme....

gruß Teekeks
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: SQL Unterabfrage= kein ergebniss

  Alt 15. Apr 2009, 14:13
Versuch es mal so:
SQL-Code:
SELECT *
FROM Buecher where Nummer IN
(
select BuchNR
from Ausleihvorgang
where NutzerNR = 2
)
oder so:
SQL-Code:
SELECT * FROM Buecher
JOIN AusleihVorgang ON Ausleihvorgang.BuchNr = Buecher.Nummer
WHERE Ausleihvorgang.Nutzer = 2
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#3

Re: SQL Unterabfrage= kein ergebniss

  Alt 15. Apr 2009, 14:21
Zitat von Teekeks:
Hi!

SQL-Code:
SELECT *
FROM Buecher where Nummer =
(
select BuchNR
from Ausleihvorgang
where NutzerNR = 2
)
gruß Teekeks
die syntax sollte so funktionieren, Voraussetzung ist aber dass der subselect nur einen ds zurückgibt.
heisst nutzernr 2 darf nur einmal vorkommen.

Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: SQL Unterabfrage= kein ergebniss

  Alt 15. Apr 2009, 15:05
Deshalb hatte ich auch das "=" in "IN" geändert
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#5

Re: SQL Unterabfrage= kein ergebniss

  Alt 15. Apr 2009, 15:15
Zitat von DeddyH:
Deshalb hatte ich auch das "=" in "IN" geändert
eben
Karl-Heinz
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#6

Re: SQL Unterabfrage= kein ergebniss

  Alt 15. Apr 2009, 16:37
Hm...
Ich krige den Fehler den ich im Anhang angehängt habe...
Miniaturansicht angehängter Grafiken
sqlerror_772.png  
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: SQL Unterabfrage= kein ergebniss

  Alt 15. Apr 2009, 16:41
Und die Exception steht genau vor dem interessanten Quellcode.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#8

Re: SQL Unterabfrage= kein ergebniss

  Alt 15. Apr 2009, 16:44
Der Code dahinter:
Delphi-Quellcode:
{...}
  with HauptForm.SQLQuery2 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM Buecher WHERE Nummer IN');
    SQL.Add('(');
    SQL.Add(' SELECT BuchNR FROM Ausleihvorgang WHERE NutzerNR = '+inttostr(User.Nr)+' AND Aktiv = 1');
    SQL.Add(')');
    Open;
{...}
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: SQL Unterabfrage= kein ergebniss

  Alt 15. Apr 2009, 16:45
Welche MySQL-Version ist das?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#10

Re: SQL Unterabfrage= kein ergebniss

  Alt 15. Apr 2009, 16:48
Hallo,

probiere es bitte mal damit:
SQL-Code:
select Buecher.* /* <-- Hier bitte die Spalten auflisten, die ins Ergebnis sollen */
from Buecher, Ausleihvorgang
where Buecher.Nummer = Ausleihvorgang.BuchNr
and Ausleihvorgang.NutzerNr = 2
and Ausleihvorgang.Aktiv = 1
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz