• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Problem mit Mysql Left Join Ambfrage

Pro-Tech

New member
Hallo Leute ich hoffe ihr könnt mir weiterhelfen seit 2 Tagen komm i an dem Problem net vorbei!

Also ich habe 2 Tabellen
Tabelle A Hotelsaisonen:
Code:
INSERT INTO `hotelsaisonen` (`ID`, `HotelCode`, `SaisonStart`, `SaisonEnd`) VALUES(24, '453810', '2010-07-10', '2010-07-23');
INSERT INTO `hotelsaisonen` (`ID`, `HotelCode`, `SaisonStart`, `SaisonEnd`) VALUES(23, '453810', '2010-04-30', '2010-07-09');
INSERT INTO `hotelsaisonen` (`ID`, `HotelCode`, `SaisonStart`, `SaisonEnd`) VALUES(26, '453810', '2010-07-24', '2010-08-20');
INSERT INTO `hotelsaisonen` (`ID`, `HotelCode`, `SaisonStart`, `SaisonEnd`) VALUES(27, '453810', '2010-08-21', '2010-09-10');
INSERT INTO `hotelsaisonen` (`ID`, `HotelCode`, `SaisonStart`, `SaisonEnd`) VALUES(28, '453810', '2010-09-11', '2010-10-28');
INSERT INTO `hotelsaisonen` (`ID`, `HotelCode`, `SaisonStart`, `SaisonEnd`) VALUES(29, '453810', '2010-12-03', '2010-12-10');
Und Tabelle B Hotelseisonen_preise:
Code:
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(200, '453810', 0.00, 45.00, 0.00, 0.00, 0.00, 'DZ', 24);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(199, '453810', 0.00, 34.00, 0.00, 0.00, 0.00, 'DZ', 23);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(198, '453810', 0.00, 33.00, 0.00, 0.00, 0.00, 'MZ', 28);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(197, '453810', 0.00, 48.00, 0.00, 0.00, 0.00, 'MZ', 27);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(196, '453810', 0.00, 58.00, 0.00, 0.00, 0.00, 'MZ', 26);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(195, '453810', 0.00, 45.00, 0.00, 0.00, 0.00, 'MZ', 24);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(194, '453810', 0.00, 34.00, 0.00, 0.00, 0.00, 'MZ', 23);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(193, '453810', 0.00, 42.00, 0.00, 0.00, 0.00, 'SUP', 28);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(192, '453810', 0.00, 58.00, 0.00, 0.00, 0.00, 'SUP', 27);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(191, '453810', 0.00, 68.00, 0.00, 0.00, 0.00, 'SUP', 26);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(190, '453810', 0.00, 55.00, 0.00, 0.00, 0.00, 'SUP', 24);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(189, '453810', 0.00, 42.00, 0.00, 0.00, 0.00, 'SUP', 23);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(201, '453810', 0.00, 58.00, 0.00, 0.00, 0.00, 'DZ', 26);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(202, '453810', 0.00, 48.00, 0.00, 0.00, 0.00, 'DZ', 27);
INSERT INTO `hotelsaisonen_preise` (`ID`, `HotelCode`, `OV`, `BB`, `HP`, `VP`, `AI`, `Kategorie_id`, `Saison_ID`) VALUES(203, '453810', 0.00, 34.00, 0.00, 0.00, 0.00, 'DZ', 28);

Habe folgende Select Anweisdung:
PHP:
$select = "
		  SELECT 
          * 
          FROM 
          hotelsaisonen AS a 
          LEFT JOIN 
          hotelsaisonen_preise AS b ON a.ID = b.Saison_id 
          WHERE 
          b.Saison_id IS NULL
          UNION
            SELECT 
            * 
            FROM 
            hotelsaisonen AS a 
            LEFT JOIN 
            hotelsaisonen_preise AS b ON a.ID = b.Saison_id 
            WHERE b.Kategorie_id = '".$category."'
      	  UNION
      		SELECT 
            * 
            FROM 
      		hotelsaisonen AS a 
      		LEFT JOIN 
      		hotelsaisonen_preise AS b ON b.kategorie_id = '".$category."' 
			WHERE b.Saison_id IS NULL
        ORDER BY SaisonStart ASC";

Die Sql anweisung soll mir alle saisonen ausgeben die deffiniert wurden und auch die die nicht deffiniert wurden was sie auch macht! nur wenn ich eine saison hinzufüge und den preis für eine bestimmte kategorie deffiniere wird mir die neu hinzugefügte saison bei den anderen kategorien nicht mehr angezeigt.

worann kann das liegen?
 
Zurück
Oben