saar: fehler in sql syntax?

hallo zusammen, ich hab ein problem, ich bastelle mir mit php ein select statement zusammen und führe es aus.
nun finde ich keinen datensatz, obwohl einer da ist.

hier mal das statement:

SELECT best.id_bestellvorgang, best.id_dienststelle, best.id_lieferant, best.id_art_garantie, best.id_art_beschaffung, best.kennzeichen, best.datum_lieferung, best.beschreibung, best.preis, best.dauer_garantie, best.dauer_gewaehrleistung, best.reaktionszeit, best.instandsetzungsdauer, best.status, best.ware, best.seriennummer, best.vertrag_intern, best.vertrag_extern, inst.id_bestellvorgang, inst.id_dienststelle FROM bestellvorgang best, installationsort inst WHERE best.id_bestellvorgang>0 AND best.id_art_beschaffung=1

hoffe ihr könnt mir helfen

  1. hi,

    ich bastelle mir mit php ein select statement zusammen und führe es aus.
    nun finde ich keinen datensatz, obwohl einer da ist.

    hier mal das statement:

    Und wenn du das "direkt" testest, also per Copy&Paste über ein Frontend für deine Datenbank, was bekommst du dann?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Und wenn du das "direkt" testest, also per Copy&Paste über ein Frontend für deine Datenbank, was bekommst du dann?

      keinen datensatz gefunden!

      die syntax müsste doch stimmen oder?

      1. keinen datensatz gefunden!

        die syntax müsste doch stimmen oder?

        Wieso behauptest du dann FEHLER IN SQL SYNTAX? Ich sehe da kein Fehler und er spuckt dir ja auch keine Fehlermeldung aus sondern sagt lediglich dass kein Datensatz zu deiner Anfrage vorliegt. Vielleicht solltest du mal schauen ob überhaupt ein Ergebnis mit der Anfrage erzielt werden kann!

  2. Hallo

    hier mal das statement:

    das syntaktisch richtig aussieht, aber neben dem bereits gesagten

    SELECT  
        best.id_bestellvorgang,  
        best.id_dienststelle,  
        best.id_lieferant,  
        best.id_art_garantie,  
        best.id_art_beschaffung,  
        best.kennzeichen,  
        best.datum_lieferung,  
        best.beschreibung,  
        best.preis,  
        best.dauer_garantie,  
        best.dauer_gewaehrleistung,  
        best.reaktionszeit,  
        best.instandsetzungsdauer,  
        best.status,  
        best.ware,  
        best.seriennummer,  
        best.vertrag_intern,  
        best.vertrag_extern,  
        inst.id_bestellvorgang,  
        inst.id_dienststelle  
    FROM  
        bestellvorgang best,  
        installationsort inst  
    WHERE  
        best.id_bestellvorgang > 0  
        AND best.id_art_beschaffung = 1  
    
    

    vermisse ich die JOIN-Klausel

    Da Du keine Fehler von Deinem DBMS gemeldet bekommst, gehe ich davon aus,
    dass es einfach keine Datensätze gibt.

    Eine mögliche Erklärung wäre folgende:
    Da Du die JOIN-Klausel weglässt, wird das kartesische Produkt beider Tabellen gebildet. Wenn es in der Tabelle installationsort keinen Datensatz gibt, dann kann es in der Ergebnismenge keinen Datensatz geben. Möchtest Du alle Datensätze haben, auch denen kein Datensatz in der Tabelle installationsort zugeordnet ist, dann wäre ein LEFT JOIN angebracht:

    SELECT  
        best.id_bestellvorgang,  
        best.id_dienststelle,  
        best.id_lieferant,  
        best.id_art_garantie,  
        best.id_art_beschaffung,  
        best.kennzeichen,  
        best.datum_lieferung,  
        best.beschreibung,  
        best.preis,  
        best.dauer_garantie,  
        best.dauer_gewaehrleistung,  
        best.reaktionszeit,  
        best.instandsetzungsdauer,  
        best.status,  
        best.ware,  
        best.seriennummer,  
        best.vertrag_intern,  
        best.vertrag_extern,  
        inst.id_bestellvorgang,  
        inst.id_dienststelle  
    FROM  
        bestellvorgang best  
    LEFT JOIN  
        installationsort inst  
    ON best.id_bestellvorgang = inst.id_bestellvorgang  
    WHERE  
        best.id_bestellvorgang > 0  
        AND best.id_art_beschaffung = 1  
    
    

    Mehr zu JOINs gibts auf SELFHTML aktuell:

    Freundliche Grüße

    Vinzenz

    1. Freundliche Grüße

      Vinzenz

      Danke, jetzt hats geklappt!