Left Join auf Num->string

Alles zum SQL-Dialekt

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Left Join auf Num->string

Beitrag von Manfred »

Hi,
ich muß einen Left Join machen, habe aber in der einen Tabelle einen numerischen Wert und in der Tabelle einen Character Wert. Wie baut man sowas auf?

Code: Alles auswählen

left Join linien li ON li.nummer = Str(tr.lini_nr,5,0)
will so wohl nicht klappen.
Ist jetzt zwar der ADS, aber sollte doch generell lösbar sein!?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Left Join auf Num->string

Beitrag von nightcrawler »

CAST
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Left Join auf Num->string

Beitrag von Marcus Herz »

Code: Alles auswählen

left Join linien li ON li.nummer = right('     '+trim(cast(tr.lini_nr as sql_char)),5)
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Left Join auf Num->string

Beitrag von Manfred »

wie befürchtet, klappt nicht....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Left Join auf Num->string

Beitrag von Marcus Herz »

was bekommst du für einen Fehler? Hab keine Klammer vergessen
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Left Join auf Num->string

Beitrag von Manfred »

keinen Fehler, es werden keine Daten aus tr angezeigt. also der rechte Teil klappt nicht
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Left Join auf Num->string

Beitrag von Marcus Herz »

Code: Alles auswählen

right('     '+trim(cast(tr.lini_nr as sql_char)),5) 
entspricht aber exakt

Code: Alles auswählen

str(lini_nr,5,0)
Dann liegt der Fehler woanderst
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Left Join auf Num->string

Beitrag von HaPe »

left Join linien li ON VAL( li.nummer ) = tr.lini_nr
Da fallen Probleme mit führenden und angehängten Leerzeichen in Zeichenketten weg ...
--
Hans-Peter
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Left Join auf Num->string

Beitrag von Marcus Herz »

Das hängt jetzt vom Index ab. Linien.nummer ist ja als CHAR Index definiert und nur dann performant, wenn der Suchausdruck dem Indexkey entspricht
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Left Join auf Num->string

Beitrag von HaPe »

Und andersrum ist das nicht genauso wichtig?
--
Hans-Peter
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Left Join auf Num->string

Beitrag von Marcus Herz »

in dem Fall nicht. Ein LEFT JOIN ist ja nichts anderes wie nach jedem SKIP in der Mastertabelle ein SEEK in der Childtabelle
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Left Join auf Num->string

Beitrag von nightcrawler »

Manfred,
wenn Du so freundlich wärst, Testdaten hier einzustellen, könnten wir es ausprobieren.
zB CREATE TABLE ...; INSERT ITNO ...;
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Antworten