Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Datensätze in einer Tabelle vergleichen und aktuellen ausgeben

Frage Entwicklung Datenbanken

Mitglied: CryptKeeper

CryptKeeper (Level 1) - Jetzt verbinden

23.02.2012, aktualisiert 14:43 Uhr, 2044 Aufrufe, 4 Kommentare

Hallo liebe Community,
Ich habe ein hoffentlich kleines Problem bei einer Abfrage.

Ich habe eine Tabellenstruktur in dieser Form:
Artikelgruppe | Artikel | Preis gültig ab | Preis 
------------------------------------------------------------ 
10                    | 123     |  01.01.2011      | 2,50 
10                    | 123     |  20.05.2011      | 2,99 
10                    | 234     |  01.01.2011      | 2,50 
10                    | 345     |  01.01.2011      | 2,50 
10                    | 345     |  31.08.2011      | 1,99
Ich brauche nun zu den Artikeln die aktuell gültigen Preise. Also eine Ausgabe in dieser Form:
Artikelgruppe | Artikel | Preis gültig ab | Preis 
------------------------------------------------------------ 
10                    | 123     |  20.05.2011      | 2,99 
10                    | 234     |  01.01.2011      | 2,50 
10                    | 335     |  31.08.2011      | 1,99
Irgendwie komme ich da aber nicht hin. Wie müsste ich denn die Abfrage gestalten um zum gewünschten Ergebnis zu kommen?

Vielen Dank schon mal

Andreas
Mitglied: Indrador
23.02.2012 um 13:44 Uhr
Hi,

das Select sollte funktionieren:

Folgt

Attribute wie "Preis gültig ab" sind im übrigen pfuibah, man benutzt keine deutschen Umlaute und leerzeichen sind auch alles andere als Professionell, dann lieber "Preis_gueltig_ab"

Gruß
Bitte warten ..
Mitglied: CryptKeeper
23.02.2012 um 14:30 Uhr
Hallo Indrador

Vielen Dank für die schnelle Antwort.

Das mit Umlauten und Leerzeichen ist schon klar - diente hier nur zur Vereinfachung der Tabelle.

Irgendwie komm ich aber noch nicht so ganz zurecht. Woher kommen die Werte in deiner zweiten Zeile [FROM [P360_KS].[dbo].[ArtikelStaffelpreis] --where PK_Angebotsartikel = 21344 ]?

Meine Tabelle heißt "ArtPreise". Wie müsste da die zweite Zeile richtig aussehen?

Übrigens kämpfe ich mit einer Oracle Datenbank falls das dafür wichtig ist.

Mir geht es darum alle Artikel mit dem aktuell gültigen Preis auszugeben. Also in Worten etwa so:

Wenn ein Artikel zwei mal auftaucht (hier also 123 und 345), dann zeige nur den Preissatz mit dem höchsten Datum an (also 2,99 bzw. 1,99) Wenn man den Zeilen Nummern geben würde, sollten also nur die Zeilen 2,3 und 5 ausgegeben werden.
Das ganze für die komplette Tabelle und nicht für einen speziellen Datensatz.


10 | 123 | 01.01.2011 | 2,50 -> Zeile 1
10 | 123 | 20.05.2011 | 2,99 -> Zeile 2
10 | 234 | 01.01.2011 | 2,50 -> Zeile 3
10 | 345 | 01.01.2011 | 2,50 -> Zeile 4
10 | 345 | 31.08.2011 | 1,99 -> Zeile 5

Ausgabe

10 | 123 | 20.05.2011 | 2,99 -> Zeile 2
10 | 234 | 01.01.2011 | 2,50 -> Zeile 3
10 | 345 | 31.08.2011 | 1,99 -> Zeile 5
Bitte warten ..
Mitglied: Indrador
23.02.2012 um 15:00 Uhr
Da hat der indrador tief und feste geschlafen, das waren Teile von mir.
Ich schreibe nachher oben was rein.
Bitte warten ..
Mitglied: pi314
04.03.2012 um 15:22 Uhr
Sers,

da du nicht gesagt hast, welche DB du verwendest, hier mal ein Schuss ins Blaue..

Hier die Tabelle ArtPreise:
01.
Grp  Art   Gueltig      Preis 
02.
10   123   01.01.2011   2,5 
03.
10   123   20.05.2011   2,99 
04.
10   234   01.01.2011   2,5 
05.
10   345   01.01.2011   2,5 
06.
10   345   31.08.2013   1,99
und dann hier der Select:

01.
select a.* 
02.
  from artpreise a 
03.
       join (select art, max( gueltig ) maxGueltig 
04.
               from artpreise 
05.
              where gueltig <= sysdate 
06.
              group by art) b on (b.art = a.art and 
07.
                                  b.maxGueltig = a.gueltig) 
08.
;
ergibt folgendes Ergebnis:
01.
Grp  Art   Gueltig      Preis 
02.
10   123   20.05.2011   2,99 
03.
10   234   01.01.2011   2,5 
04.
10   345   01.01.2011   2,5
so long,
pi314
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Teile eines Powershell Skriptes in einer Tabelle ausgeben (3)

Frage von ReneBue zum Thema Batch & Shell ...

Datenbanken
gelöst Access 2010 SQL Tabellen Datensätze einfügen (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Neue Wissensbeiträge
Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Sicherheit

Eventuell neue Lücke in Intels ME

Information von sabines zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Humor (lol)
gelöst Freidach Beitrag (40)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Windows 7
gelöst SSD - Win7 Lags (20)

Frage von ph5555 zum Thema Windows 7 ...

Firewall
gelöst Firewall Firmeneimsatz (18)

Frage von wiesi200 zum Thema Firewall ...