Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

2 Abfragen auf einer Tabelle

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von deMischa, 2 Oktober 2015.

  1. deMischa

    deMischa Neuer Benutzer

    Hallöchen alle zusammen

    Ich habe im Moment ein Problem, bei dem ich Hilfe gebrauchen könnte. Ich habe eine Tabelle, die Versionen von Artikeln beinhaltet. Das heißt, ein Artikel kann mehrfach vorkommen, muss aber nicht.

    Ich möchte nun herausfinden, welche Artikel gestern neu hinzugefügt wurden, also praktisch Artikel, von denen es nur eine Version gibt. Dafür habe ich bereits 2 funktionierende Abfragen.

    Ermittlung aller Artikel von gestern:
    SELECT [VERCatUID]
    FROM [CatalogueVersions]
    WHERE Convert(date, [VERDateCreated]) >= dateadd(day,datediff(day,1,GETDATE()),0)
    AND Convert(date, [VERDateCreated]) < dateadd(day,datediff(day,0,GETDATE()),0)

    Ermittlung aller Artikel mit nur einer Version:
    SELECT [VERName], COUNT([VERName])
    FROM [CatalogueVersions]
    GROUP BY VERName
    HAVING COUNT([VERName]) = 1

    Ich schaffe es jetzt nur nicht, diese beiden Abfragen auf die gleiche Tabelle so zusammen zu führen, dass das richtige Ergebnis raus kommt. Hauptproblem ist, dass ich die Reihenfolge nicht bestimmt bekomme. Praktisch alle Kataloge haben nur eine Version, wenn man sich den obigen Zeitraum alleine anguckt. Aber das Summieren der Artikel müsste auf den gesamten Zeitraum stattfinden, und DANN müssten nur noch die mit einer Version in dem angegebene Zeitraum angezeigt werden.

    Ich hoffe, dass ist verständlich formuliert. Kann mir jemand bei diesem Problem helfen!? Vielen Dank im Voraus!
    Mischa
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Kannst Du mal eine kleine Beispiel-Tabelle zeigen mit Demo-Daten, und was rauskommen soll? So ganz versteh ich Deine Kriterien nicht. Was ist mit Artikeln, die schon länger, aber nur mit einer Version drin sind?
     
  3. deMischa

    deMischa Neuer Benutzer

    Die müssten dann aus der Selektion herausfliegen. Es handelt sich um einen Automatismus, der jede Nacht die neu hinzugefügten Artikel exportieren soll und dabei halt alles ignoriert, das schon älter ist oder schon mehr als eine Version hat.

    Beispiel wäre:

    01.10.2015 | Artikel 1
    01.10.2015 | Artikel 2
    01.10.2015 | Artikel 3
    30.09.2015 | Artikel 1
    30.09.2015 | Artikel 4
    29.09.2015 | Artikel 1

    In diesem Beispiel dürften nur die Artikel 2 und 3 als Ergebnis angezeigt werden, da Artikel 1 zwar in den Zeitraum passt, aber bereits andere Versionen außerhalb des Zeitraums hat.
     
  4. Distrilec

    Distrilec Datenbank-Guru

    Oracle-Syntax... Aber das sollte es tun...
    Code:
    Select vercatuid
    From   catalogueversions
    Group  By vercatuid
    Having Count(1) = 1
    And    Min(verdatecreated) >= :deine_var
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden