Új hozzászólás Aktív témák

  • Apollo17hu
    őstag

    Egy lekérdezésben kérném segítségeteket.
    Hogyan tudom megírni úgy a lekérdezést, hogy válasszak két rekord közül.
    Van egy árlista tábla. Elég hülyén van kitöltve, de ez most mindegy.
    Van egy árnak kezdő érvényességi dátuma, ez kötelező, és lehet befejező dátuma, ez nem kötelező. Az indexelés úgy van belőve, hogy lehet olyan rekord, hogy azonos a kezdő dátum, azonos lehet az ár is, de nem feltétlenül, de az egyiknél van záró dátum, másiknál nincs. Na, ha ilyen duplikációk vannak, akkor azt kell vennem, ahol van záró dátum, ha nincs duplikáció, akkor jó a záró dátum nélküli is. Soha nem láttam még ennyire hülye megoldást, de ezzel kell élni.

    Ezzel eltávolítod a listából a duplákat:

    SELECT termek
          ,ar
          ,kezdo_datum
          ,veg_datum
    FROM  (SELECT termek
                 ,ar
                 ,kezdo_datum
                 ,veg_datum
                 ,COUNT(*) OVER(PARTITION BY termek, kezdo_datum) dupl
            FROM arlista)
    WHERE CASE
              WHEN dupl > 1 AND veg_datum IS NULL
              THEN 0
              ELSE 1
          END = 1

Új hozzászólás Aktív témák