BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

Abfrage SQL Code

BASE ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit OpenOffice.org zu bearbeiten.
Antworten
Moerser01
Beiträge: 13
Registriert: Fr 11. Nov 2016, 09:23

Abfrage SQL Code

Beitrag von Moerser01 » Do 1. Nov 2018, 21:46

Hallo,
Ich hab schon wieder eine Frage :
Ich benutze den SQL-Code zur Abfrage: WHERE ( LOWER ( "ID" ) LIKE LOWER ( :qID || '%' ) OR :qID IS NULL ),
dann wird alles gesucht was in meine Abfrage drin steht z.B. ich gebe " 1 " ein dann wird 1,10,11 und 101 gefunden.

Wen ich WHERE ( LOWER ( "ID" ) LIKE LOWER ( :qID ) OR :qID IS NULL ) benutze Wir wenn ich nichts eingebe auch nichts angezeigt und wenn ich 1 eingebe ,wird nur "1" gefunden.


Ich hätte gern ein Code der mir bei 1 nur 1 raussucht und wenn ich nichts angebe dann Alles anzeigt wird.


Vileicht kann mir jamand helfen.Danke

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Abfrage SQL Code

Beitrag von F3K Total » Fr 2. Nov 2018, 17:36

Moin,
versuch mal

Code: Alles auswählen

WHERE "ID"  = :qID OR :qID IS NULL
Wobei das Filterfeld in der Tabelle Filter, so wie die ID in der Datentabelle eine Zahl vom Typ INTEGER sein sollte.

Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Moerser01
Beiträge: 13
Registriert: Fr 11. Nov 2016, 09:23

Re: Abfrage SQL Code

Beitrag von Moerser01 » Fr 2. Nov 2018, 17:54

Hallo R.

das Filterfeld in der Tabelle Filter, so wie die ID in der Datentabelle ist vom Typ INTEGER.

mit deinem SQL Code sortiert er mir zwar wenn ich 3 eingebe auch nur die 3 raus, also nicht 13 und 33 , was gut ist aber wenn ich nichts eingebe gibt er auch nichts raus.

Es soll ja so sein das wenn ich nichts eingebe er alles rausgibt. so wie bei " LIKE LOWER ( :qUnter_ID || '%' " und wenn ich die 3 eingebe dann soll er nur 3 und nicht 13, 23, 33 usw. rausgeben also so wie bei " LIKE LOWER ( :qUnter_ID ) ".
Es geht dabei um Unterkategorien, da ist es nicht so gut wenn ich da kein wert eingebe und er mir nichts anzeigt, oder ich was eingebe und er mir die ID's von ähnlichen ID´s also 13, 23, 33 usw. mit anzeigt.
:D

Gruß Moerser

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Abfrage SQL Code

Beitrag von F3K Total » Sa 3. Nov 2018, 10:17

Also,
bei mir funktioniert es, der Fehler liegt bei dir woanders...
Gruß R
Dateianhänge
Test_ID_Filter_Moerser.odb
(70.33 KiB) 207-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

Moerser01
Beiträge: 13
Registriert: Fr 11. Nov 2016, 09:23

Re: Abfrage SQL Code

Beitrag von Moerser01 » Sa 3. Nov 2018, 19:37

Hallo R.
Das Problem ist das du nur die ID ab rufst.
Sobald du das * für Spalten Namen ersetzt oder zwei Parameter abfragen möchtest geht die Abfrage leider bei mir nicht.

Gruß Christian

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Abfrage SQL Code

Beitrag von F3K Total » So 4. Nov 2018, 10:29

Moin,
Moerser01 hat geschrieben:
Sa 3. Nov 2018, 19:37
obald du das * für Spalten Namen ersetzt oder zwei Parameter abfragen möchtest geht die Abfrage leider bei mir nicht.
Das hast Du nicht gefragt.
Mal grundsätzlich, halbschwanger geht nicht, entweder sucht man mit einem Parameter Teile oder das Ganze des Suchbegriffs.
Man kann natürlich ein zweites Suchfeld, mit einem zweiten Prameter anlegen, den man dann "genau treffen" muss.
EDIT: Beispiel entfernt, habe zwei ähnliche Beträge in unterschiedlichen Foren verwechselt :roll:

Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

F3K Total
Beiträge: 1007
Registriert: Mo 1. Aug 2011, 00:03

Re: Abfrage SQL Code

Beitrag von F3K Total » So 4. Nov 2018, 13:06

Moerser,
versuche mal diese Abfrage:

Code: Alles auswählen

SELECT "ID", "Artikel", "Anzahl", "Name", "Produktionsdatum", "LagerortID", "Haupt_ID", "Beschreibung", "LagerPlatzID", "Unter_ID", "PersonID" FROM "Tabelle" WHERE ( LOWER ( "Name" ) LIKE LOWER ( :qName || '%' ) OR :qName IS NULL ) AND ( "LagerortID" = :qLagerortID OR :qLagerortID IS NULL ) AND ( "Haupt_ID" = :qHaupt_ID OR :qHaupt_ID IS NULL ) AND ( "LagerPlatzID" = :qLagerPlatzID OR :qLagerPlatzID IS NULL ) AND ( "Unter_ID" = :qUnter_ID OR :qUnter_ID IS NULL ) AND ( "PersonID" = :qPersonID OR :qPersonID IS NULL )
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Moerser01
Beiträge: 13
Registriert: Fr 11. Nov 2016, 09:23

Re: Abfrage SQL Code

Beitrag von Moerser01 » So 4. Nov 2018, 15:07

Hat Irrgendwie nicht funktioniert.


Ich hab jetzt aber gelöst :


Ich habe :
SELECT "ID", "Artikel", "Anzahl", "Name", "Produktionsdatum", "LagerortID", "Haupt_ID", "LagerPlatzID", "Unter_ID", "Beschreibung", "PersonID" FROM "Tabelle" WHERE ( LOWER ( "Name" ) LIKE LOWER ( :qName || '%' ) OR :qName IS NULL ) AND ( LOWER ( "LagerortID" ) LIKE LOWER ( :qLagerortID || '%' ) OR :qLagerortID IS NULL ) AND ( LOWER ( "Haupt_ID" ) LIKE LOWER ( :qHaupt_ID ) OR :qHaupt_ID IS NULL ) AND ( LOWER ( "LagerPlatzID" ) LIKE LOWER ( :qLagerPlatzID || '%' ) OR :qLagerPlatzID IS NULL ) AND ( LOWER ( "Unter_ID" ) LIKE LOWER ( :qUnter_ID ) OR :qUnter_ID IS NULL )



benutzt.
Wobei ich bei Hauptkategorie und Unterkategorie bei LIKE LOWER das " || '%' " weggelassen habe. dann funktioniert es.

Danke für dein Brainstormimg.

Gruß Moerser01

Antworten