SQL Befehle

Forum für neue Firebird-Anwender.

Moderator: thorben.braun

Antworten
Christian
Beiträge: 2
Registriert: Di 10. Jan 2023, 16:21

Hallo, ich bin neu bei Firebird und hier im Forum.

Ich arbeite sonst nur mit MySQL und muss jetzt einen SQL Befehl erstellen der mir leider gar nicht gelingt :(
Vielleicht kann mir ja jemand helfen, vielen Dank schon mal dafür.

Ich muss 2 Tabellen zusammenfügen über die id und ich brauche so etwas wie ein where Befehl der aus dem Datums Format 2023-01-01 00-00-00
nur nach Jahr und Monat prüft.

where datum = "2023-01*"

where tabelle1_kunden_id = tabelle2_kunden_id

So richtig konnte ich auch im Internet nix finden was mir geholfen hat.
Benutzeravatar
martin.koeditz
Beiträge: 377
Registriert: Sa 31. Mär 2018, 14:35

Hallo Christian,

du kannst für die Prüfung ein CAST() ausführen, um nur den Datumsteil zu extrahieren:

Code: Alles auswählen

WHERE CAST(FELD1 AS DATE) = '2023-01-01';
Um nur Jahr und Monat zu berücksichtigen hilft dir die EXTRACT-Funktion.

Code: Alles auswählen

WHERE EXTRACT(YEAR FROM FELD1) = 2023 AND EXTRACT(MONTH FROM FELD1) = 1;
Gruß
Martin
Martin Köditz
it & synergy GmbH
Christian
Beiträge: 2
Registriert: Di 10. Jan 2023, 16:21

perfekt genau was ich gesucht habe. Vielen Dank

das mit den 2 tabellen mache ich einfach mit 2 select befehlen, ich denke das ist die beste lösung.
bfuerchau
Beiträge: 388
Registriert: Mo 7. Mai 2018, 18:09

Hier gibts die Manuals:
https://firebirdsql.org/en/reference-manuals/

Was du suchst ist ein Join:

select *
from Tablea A
inner join Tableb B on a.F1 = B.F1 and a.F2 = B.F2 ...

Die On-Beziehung entspricht einer Where-Klausel für den Zugriff von Tablea auf tableb.

Bzgl. der Joins gibt es viele Varianten, je nach Anforderung.
Antworten