AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL -> LIKE Ausdruck richtig verwenden?

SQL -> LIKE Ausdruck richtig verwenden?

Ein Thema von plautzer · begonnen am 16. Aug 2004 · letzter Beitrag vom 17. Aug 2004
Antwort Antwort
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#1

SQL -> LIKE Ausdruck richtig verwenden?

  Alt 16. Aug 2004, 22:59
HI,

Ich habe im Quickreport 2 queries die jeweils einer tabelle (paradox) [Gruppe und Untergruppe] zugeordnet sind. Die habe ich auf dem Quickreprot plaziert -> mater/detail

Mein problem liegt bei der Zuordnung der UNTERGRUPPE zur Gruppe

BSP:
Gruppe (id) = 1A
Untergruppe (id) = 1A1001, 1A1002, 1A1002

1A --1A1001
--1A1002
--1A1003...


Hier mein SQL CODE

SQL-Code:
select * from untergruppe a, gruppe b
where a.untergruppe(id) like a.gruppe(id)+'%'
Das ganze funzt irgetnwie nicht, habt ihr einen rat?

THx,

PLautzer
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: SQL -> LIKE Ausdruck richtig verwenden?

  Alt 17. Aug 2004, 00:28
In SQL werden Strings per "||" konkatiniert.
SQL-Code:
SELECT *
FROM UnterGruppe a
      ,Gruppe b
WHERE a.UnterGruppe like a.Gruppe || '%'
Ich denke mal das "(id)" war eine Zusatzinfo für uns oder?
Im richtigen Statement dürfte es dort knallen.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: SQL -> LIKE Ausdruck richtig verwenden?

  Alt 17. Aug 2004, 00:28
Zitat von plautzer:

1A --1A1001
--1A1002
--1A1003...

...
Das ganze funzt irgetnwie nicht, habt ihr einen rat?
Der wichtigste Rat ist, das DB Design dringend zu überdenken. Mit referentieller Integrität läßt sich so ein Konstrukt nicht in Einklang bringen.

Was ist, wenn sich das "1A" ändert ? Willst du dann alle Datensätze durchgehen um nachzusehen, wo du die Untergruppen 1A001, 1A002 ändern mußt ?

Wer so programmiert, der erzeugt einen Haufen an Redundanzen. Und das wiederum erzeugt Fehler und diese Frage hier. Lasse die Gruppe Gruppe sein und die Untergruppe auch. Insbesondere lasse die ID in Ruhe. Das Like benutzt man zum Suchen und nicht für die ID.
Gruß
Hansa
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: SQL -> LIKE Ausdruck richtig verwenden?

  Alt 17. Aug 2004, 00:29
Zitat von Hansa:
Zitat von plautzer:

1A --1A1001
--1A1002
--1A1003...

...
Das ganze funzt irgetnwie nicht, habt ihr einen rat?
Der wichtigste Rat ist, das DB Design dringend zu überdenken. Mit referentieller Integrität läßt sich so ein Konstrukt nicht in Einklang bringen.

....
Das hatte ich gar nicht gesehen....
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: SQL -> LIKE Ausdruck richtig verwenden?

  Alt 17. Aug 2004, 00:42
Zitat von Robert_G:
Das hatte ich gar nicht gesehen....
Na siehste mal. Am besten noch in die Artikel-Nr. den Lieferanten (natürlich als Nr.) mit rein packen. Und dann noch das ganze als eindeutige ID verwenden. Bei Lochkarten hat das mangels Speicherplatz noch Sinn gemacht. Damals gab es nämlich keine DB-Felder. Da mußte alles in eine Nummer rein. Aus dieser konnte man dann schließen, was es ungefähr war. Aber selbst in diesen Computer-Urzeiten hätte ein Like keinen Sinn gehabt.
Gruß
Hansa
  Mit Zitat antworten Zitat
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#6

Re: SQL -> LIKE Ausdruck richtig verwenden?

  Alt 17. Aug 2004, 20:34
HI,

@Hansa:

Dein vorschlag hat mir leida nicht geholfen und ja das ID war nur ne zusatz-info
Trotzdem Thx!

@Robert

Die ID ist nicht veränderbar und wenn man die ID in gruppe löscht, das werden auch alle dazugehörigen IDs in Untergruppe gelöscht. Ich habe auch bis jetzt keine weiteren problem ausser mit der Query im Quickreport.

Wenn das aber wirklich unweigerlich zu Konflikten führt, dann werde ich wirklich mal über eine andere Methode nachdenken.

Plautzer
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: SQL -> LIKE Ausdruck richtig verwenden?

  Alt 17. Aug 2004, 21:18
Zitat von plautzer:
@Hansa:

Dein vorschlag hat mir leida nicht geholfen und ja das ID war nur ne zusatz-info
...
Wenn das aber wirklich unweigerlich zu Konflikten führt, dann werde ich wirklich mal über eine andere Methode nachdenken.
Ja, es wird unweigerlich zu Konflikten führen, früher oder später. Ich würde sagen : jetzt steckst du schon richtig drin mit Fehlern.

Man macht keine zwei Felder, die im Prinzip nichts miteinander zu tun haben in ein Feld !!
Gruß
Hansa
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz