Seite 1 von 1

SQL Befehle

Verfasst: Di 10. Jan 2023, 16:33
von Christian
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.

Re: SQL Befehle

Verfasst: Mi 11. Jan 2023, 08:56
von martin.koeditz
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

Re: SQL Befehle

Verfasst: Mi 11. Jan 2023, 11:00
von Christian
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.

Re: SQL Befehle

Verfasst: Mi 11. Jan 2023, 15:06
von bfuerchau
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.