Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

2 Fragen zu Oracle

Empfohlene Antworten

Hallo also ich schreibe morgen eine Arbeit in Datenbanken und Ich komme bei 2 Fragen nicht zurecht ;) die da wären

3) Lassen Sie sich für alle Mitarbeiter anzeigen, wann sie zum ersten Mal am Neujahrsempfang teilgenommen haben (am 01.01. des auf die Einstellung folgenden Jahres).

Ich habs mit round versucht der rundet dann zwar auf den 01.01.XY aber das JAHR stimmt nicht bei jedem weil er bei manchen ab und bei manchen auf rundet.

4)Lassen Sie sich die Mitarbeiternummer, den Namen als Nachnamen und das Jahresgehalt (12* das Gehalt und 3* die Provision oder 500$ für alle die keine Provision erhalten können) anzeigen, gerundet auf Tausender für alle Mitarbeiter außer den Analysten.

Das wäre die zweite da habe ich sogut wie ka ;) wäre nett wenn einer die Lösung hätte. ;(

3.) select '01.01.'||to_char( to_number(to_char(datumsspalte,'YYYY'))+1 ) "1. Neujahrsfeier" from tabelle;

Einfach das Einstellungsjahr mit to_char herausfilter, in einen nummerischen Wert umwandel und 1 aufaddieren. Für die Ausgabe dann wieder in einen String umwandeln und den 01.01. konkartinieren.

Lassen Sie sich die Mitarbeiternummer, den Namen als Nachnamen und das Jahresgehalt (12* das Gehalt und 3* die Provision oder 500$ für alle die keine Provision erhalten können) anzeigen, gerundet auf Tausender für alle Mitarbeiter außer den Analysten.

Hmm da wär die Tabellenstruktur nicht schlecht gewesen. Ansonsten muss ich ein bissl raten.

SELECT mitarbeiterid,

name as nachname,

CASE mitarbeitertyp WHEN 'Analyst' THEN gehalt*12 + NVL2(provision,3*provision,500)

ELSE ROUND( gehalt*12 + NVL2(provision,3*provision,500),-3) END CASE

FROM tabelle;

Den Spaltennamen Nachname vergeben (AS ist optional) und dann im CASE Block zwischen Analysten und anderen unterscheiden. Über ROUND Runden und NVL2 gibt bei NULL-Werten unterschiedliche Rückgabewerte.

Bei der Aussage: für alle Mitarbeiter außer den Analysten bin ich mir nicht sicher ob die eine andere Rundung bekommen sollten oder direkt ausgeschlossen werden müssen.

Ist letzteres der Fall, das CASE rausnehmen und statt dessen auf WHERE mitarbeitertyp <>'Analyst' abfragen.

Mehr Infos zu den verwendeten Funktionen kannst Du hier über die Suche bekommen:

Oracle Database Online Documentation 10g Release 2 (10.2)

Dim

Danke für die Hilfen

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.