SELECT * mit Erweiterung

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: SELECT * mit Erweiterung

Re: SELECT * mit Erweiterung

von Senekurios » Do, 21.04.2016 19:48

RobertG hat geschrieben:Hallo Marko,

Code: Alles auswählen

SELECT "Tabelle".* , CASE WHEN ... END AS "Age" FROM Tabelle WHERE Bedingung
Dieser Fall geht. Ohne "Tabelle". vor * mag der Syntax nicht.

Re: SELECT * mit Erweiterung

von Senekurios » Do, 21.04.2016 19:43

RobertG hat geschrieben:
Warum hast Du übrigens die englischsprachige Fassung des Handbuches ("Birthdate")? Die deutschsprachige Fassung ist grundsätzlich die aktuellere.

Gruß

Robert
Danke, ich werde das mal ausprobieren. Zu deiner Frage, ich programmiere für einen Freund aus Singapur. Deswegen halte ich alles in Englisch. Das Handbuch habe ich in Deutsch in der Version V5.1

Re: SELECT * mit Erweiterung

von RobertG » Do, 21.04.2016 16:23

Hallo Marko,

der Haken liegt vermutlich in den Klammern:
nicht

Code: Alles auswählen

SELECT * , (CASE WHEN ... END) AS "Age" FROM Tabelle WHERE Bedingung
sondern

Code: Alles auswählen

SELECT * , CASE WHEN ... END AS "Age" FROM Tabelle WHERE Bedingung
Eventuell will Base auch noch vor dem Allroundzeichen * die Tabellenangabe haben, also

Code: Alles auswählen

SELECT "Tabelle".* , CASE WHEN ... END AS "Age" FROM Tabelle WHERE Bedingung
Der Zusammenhang müsste auf jeden Fall grundsätzlich gehen.

Warum hast Du übrigens die englischsprachige Fassung des Handbuches ("Birthdate")? Die deutschsprachige Fassung ist grundsätzlich die aktuellere.

Gruß

Robert

SELECT * mit Erweiterung

von Senekurios » Do, 21.04.2016 12:45

Hallo,

ich versuche gerade die Altersberechnung aus dem Handbuch

Code: Alles auswählen

SELECT
CASE 
WHEN MONTH("Birthdate") > MONTH(CURDATE())
THEN DATEDIFF('yy',"Birthdate",CURDATE())-1
WHEN (MONTH("Birthdate") = MONTH(CURDATE()) AND DAY("Birthdate")> DAY(CURDATE()))
THEN DATEDIFF('yy',"Birthdate",CURDATE())-1
ELSE DATEDIFF('yy',"Birthdate",CURDATE())
END AS "Age"


in eine Abfrage mit einzubauen, welche als Basis

Code: Alles auswählen

SELECT * FROM Tabelle WHERE Bedingung 
hat.

Das ganze sollte so aussehen, bringt aber einen Syntaxfehler.

Code: Alles auswählen

SELECT * , (CASE WHEN....) AS "Age" FROM Tabelle WHERE Bedingung
Geht diese Zusammenstellung grundsätzlich und wenn ja, was muss ich noch zusätzlich beachten. Oder bleibt mir nur der umstädliche Weg, alle Spalten aus der Tabelle dann einzeln einzulesen?

Gruß
Marko

Nach oben