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.

Empfohlene Antworten

Veröffentlicht

Hallo,

es geht um folgende Aufgabe:

Es sollen alle Zeilen mit einem Spaltenwert von "d_std > 2000 aus der Tabelle CAR in die Tabelle CABC kopiert werden.

Die Tabelle CABC enthält die Spalten "herst", "typ", "ser_nr" und "wartungsdatum" mit denselben entsprechenden Datentypen wie die Tabelle CAR.

Es soll zum Kopieren eine Unterabfrage verwendet werden.

Die Klausel zum Einfügen einer Zeile in die Tabelle CABC soll die Spaltenliste "herst", "typ" und "ser_nr" enthalten.

Die Tabelle CAR besitzt folgende Spalten:

"herst", "typ", "ser_nr", "d_std" und "an_datum".

Für Lösungsvorschläge wäre ich sehr dankbar.

Vielen Dank im Voraus.

in diesem fall ist from und where sicher angebracht, aber ein select funktioniert auch ohne daher wird das eigentlich immer als INSERT INTO ... SELECT bezeichnet

*klug******* ^^

*mitmach* :P

_n4p_ hat schon recht. "Umgansprachlich bezeichnet man das als INSERT INTO ... SELECT. das wirst Du immer wieder so finden.

Das FROM schenkt man sich einfach, da es nur um die Befehle an sich geht. Gleiches gilt z.B. für CTAS (Create Table As Select) das nennt sich auch nicht CTASF.

Dim

Hallo MartinSt,

deine Fragen sind berechtigt und die Informationen zu meiner Anfrage waren auch nicht vollständig.

Daher noch folgender Sachverhalt:

- Die Tabelle CABC muss neu angelegt werden.

- Innerhalb der CREATE TABLE-Anweisung soll eine Unterabfrage erfolgen, in der die

Datensätze "d_std > 2000" aus der Tabelle CAR in die neue Tabelle CABC kopiert

werden.

- Die neue Tabelle CABC soll die Spalten "herst", "typ", "ser_nr" enthalten,

die auch die Tabelle CAR enthält.

- Problem: Zusätzlich soll das Attribut "wartungsdatum" in die neue Tabelle

aufgenommen werden (Datentyp DATE), das keine Daten enthalten soll.

Dieses Attribut existiert so nicht in der Tabelle CAR, dafür besitzt diese Tabelle das

Attribut "an_datum", mit Daten zum Anschaffungsdatum (Datentyp DATE).

Quelltabelle:

CAR mit den Attributen "herst", "typ", "ser_nr", "d_std", "an_datum" gefüllt mit Werten.

Zieltabelle:

CABC mit den Attributen "herst", "typ", "ser_nr" gefüllt mit entsprechenden Werten, "wartungsdatum" bleibt leer.

Daher waren meine Überlegungen bis jetzt folgende:

create table CABC

as select herst, typ, ser_nr

from CAR

where d_std > 2000;

Die Anweisung funktioniert so weit.

Wie erhalte ich aber das Attribut "wartungsdatum" ohne Datensätze aus der Tabelle CAR in die neue Tabelle CABC?

Es könnte ein JOIN zur Lösung führen, da müsste ich aber im Moment noch passen.

wenn ich dich recht verstanden habe gibt es keine daten die du in wartungsdatum übernehmen kannst/willst

in dem Fall kannst du auch an der stelle einen einfachen ausdruck mit in das select aufnehmen. zb SELECT DATE('') AS 'wartungsdatum' und dann den rest so wie du es schon hast. nachteil wäre hier nur das dann standardmäßig überall der 1.1.1970 das wartungsdatum ist, weil die 0 halt auch als datum interpretiert wird.

getestet unter MySQL 5.x, in MSSQL müsste es auch so/ähnlich funktionieren, oracle keine ahnung vermutlich aber schon.

Es geht um das Erstellen des Attributs "wartungsdatum", das leer bleiben soll, für die neue Tabelle CABC innerhalb der oben beschriebenen Anweisung.

Es geht um eine ORACLE-Datenbank.

Ich habe das Problem gelöst.

Mit CAST (NULL AS DATE) komme ich zu dem Ergebnis, das ich brauche.

Vielen Dank für die Lösungsvorschläge.

SELECT 1+1;

ORA-00923: FROM keyword not found where expected

:hells:

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

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.