[SQL allgemein] Datum Verleih Reservierung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Code:
     SELECT DISTINCT r.raum_id frei, z.raum_id 
    FROM raum r LEFT JOIN zraum z USING (raum_id) 
    WHERE ( 
    z.anreise BETWEEN '2003-08-18' AND '2003-08-26' 
    or 
    z.abreise BETWEEN '2003-08-18' AND '2003-08-26' )
    So zeigt er die Räume an die zwischen dem 18. und 26.08. 2003 belegt sind.

    Offenbar läßt sich die Abfrage durch ein NOT vor BETWEEN nicht wie gewünscht ändern.

    Wie kann ich die Menge der belegten Zimmer von der der unbelegten abziehen?

    Oder besser noch wie muß die Abfrage aussehen um wirklich nur die Zimmer anzeigen zu lassen, die nicht reserviert sind?

    Kommentar


    • #17
      keine ahnung wo mein denkfehler is

      wenn du die ids der belegten räume hast:
      Code:
      SELECT raum_id 
      FROM raum
      WHERE raum_in NOT IN (<die ids der belegten räume durch komma getrennt>)
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #18
        Original geschrieben von mrhappiness
        keine ahnung wo mein denkfehler is

        wenn du die ids der belegten räume hast:
        Code:
        SELECT raum_id 
        FROM raum
        WHERE raum_in NOT IN (<die ids der belegten räume durch komma getrennt>)
        Damit wäre es ja nicht getan, schließlich müßten die Werte ja auch automatisch eingetragen werden.

        Es muß doch eine SQL Abfrage geben mit der es ganz elegant geht.

        Kommentar


        • #19
          schick mir mal ne mail mit nem dump der beiden tabellen, so dass ich die in phpmyadmin erstellen kann und die gleichen daten hab wie du
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #20
            sodele, so wie's ausschaut funzt es schon
            kasus knacktu sis die tatsache, dass raum auch für einen anderen zeitraum reserviert wurde und daher wird er dir angezeigt

            mir fällt jetzt keine möglichkeit ein, außer dir erst die in dem zeitraum belegten räume anzeigen zu lassen und dann mit
            Code:
            SELECT raum_id 
            FROM raum
            WHERE raum_in NOT IN (<die ids der belegten räume durch komma getrennt> )
            die räume auszulesen die frei sind
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #21
              Original geschrieben von mrhappiness


              mir fällt jetzt keine möglichkeit ein, außer dir erst die in dem zeitraum belegten räume anzeigen zu lassen und dann mit
              Code:
              SELECT raum_id 
              FROM raum
              WHERE raum_in NOT IN (<die ids der belegten räume durch komma getrennt> )
              die räume auszulesen die frei sind
              Gut, ich habe jetzt die betreffenden reservierten Räume aus der Abfrage resultierend in einem Array($result) gespeichert, hier der Code:
              PHP-Code:
              // Für die Abfrage benötigte Parameter

                
              $dan "2003-08-18";
                
              $dab "2003-08-26";
                
                
              // SQL Anweisung
                     
                
              $sql "SELECT DISTINCT z.raum_id
                        FROM raum r
                        LEFT JOIN zraum z USING (raum_id)
                        WHERE
                        (
                        z.anreise BETWEEN '"
              .$dan."' AND '".$dab."'
                        or
                        z.abreise BETWEEN '"
              .$dan."' AND '".$dab."'
                        )"
              ;
                       
                
              // Array für das Abfrageergebnis

                 
              $result mysql_query($sql$link);

                 while (
              $row mysql_fetch_array($result))
                 {
                  print 
              "<td> $row[0] </td>";

                 } 
              wie kriegt man jetzt die zimmer id's, bzw. den array-inhalt in die nächste abfrage


              Habe bzgl. der Verrechnung der Arrays einen neuen Thread aufgemacht: Hier
              Zuletzt geändert von Wilhelm; 15.08.2003, 18:27.

              Kommentar

              Lädt...
              X