Zum Inhalt wechseln


Foto

Hilfe bei Select

MS SQL

  • Bitte melde dich an um zu Antworten
24 Antworten in diesem Thema

#16 zahni

zahni

    Expert Member

  • 16.500 Beiträge

 

Geschrieben 02. April 2015 - 14:36

Keine Ahnung. Was passiert denn beim Test auf der Datenbank?


Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!


#17 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 02. April 2015 - 15:25

Es erscheint eine Fehlermeldung die sagt "Meldung 207, Ebene 16, Status 1, Zeile 16
Ungültiger Spaltenname 'view_PAR'. (bei End steht in meinem Statement par_view, die Tabelle heißt aber "view_par")


Ok, ich bin nochmal drüber geflogen und habe mein Statement nochmal korrigiert, es lautet nun:

 

 

 

SELECT tabelle1, tabelle2, parinha FROM tbl_vbs

JOIN view_par

ON

CASE

     WHEN KEYIPAR1 like 'folien%' THEN PARLFD2

     WHEN KEYIPAR1 like 'folienet%" THEN PARLFD2

     ELSE NULL

end = VBSFOLET

 

Das Ergebnis ist, das die drei Tabellen angezeigt werden....aber sonst nix.....was ja auch nicht sooo wirklich richtig sein kann.

 


 



#18 zahni

zahni

    Expert Member

  • 16.500 Beiträge

 

Geschrieben 02. April 2015 - 16:25

Man  findet echt viele Beispiele:

 

http://www.sqlserver...6158-391-1.aspx

 

Was ist aus Substring geworden?


Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!


#19 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 07. April 2015 - 06:50

Moin,

 

Substring kann ich nicht benutzen, da die Spalte, keyipar1 etliche verschiedene Schlüssel hat, die alle ungefähr gleichlang sind und mit Zahlen enden.  Ich benötige aber die Daten , die sich hinter dem Schlüssel "folie12", folet12" und "kist12" verstecken.



#20 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 08. April 2015 - 06:57

Im Prinzip geht es darum, diese SELECT Abfrage

 

SELECT PARLFD2 as FolNr, PARINHA1 as FolTxt FROM view_PAR where KEYIPAR1 like FOLIE%'

 

in einen JOIN umzuwandeln, der sich auf die Tabelle VBSFOLNR bezieht.

 

Also im Prinzip

 

join view_PAR on view_PAR.PARINHA1 = tbs_vbs.VBSFOLNR

 

Die Frage die sich mir stellt ist halt: Wie mache ich den Join so das er sich bei KEYIPAR1 den richtigen Schlüssel sucht, da diese Tabelle, wie oben schon erwähnt, etliche Schlüssel enthält, die aus BuchstabeZahl bestehen, meine Daten sich aber hinter z.B. hinter FOLNR12 verstecken.

 

Noch jemand eine Idee?

 

Gibt es da noch Ideen?



#21 Cybquest

Cybquest

    Expert Member

  • 1.888 Beiträge

 

Geschrieben 08. April 2015 - 08:22

Vielleicht hilft eine Verquickung von SUBSTRING und PATINDEX. Mit PATINDEX die Position der 1. Ziffer ermitteln und ab da per SUBSTRING den vorderen Teil (das Folie, Folnr... etc) abschneiden.


My name is Frank, you can say you to me.

#22 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 08. April 2015 - 09:47

Das klingt schonmal interessant, werde ich mal probieren. Dankeschön :-)



#23 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 16. April 2015 - 14:30

Hmm...leider war es das nu auch irgendwie nicht. Ich begomme zwar ein Ergebnis, aber das falsche, da es in der Spalte mehrere Schlüssel gibt, die so aufgebaut sind "abcdefxyz12".

 

Jemand noch eine Idee?



#24 mygil

mygil

    Newbie

  • 23 Beiträge

 

Geschrieben 17. April 2015 - 05:33

Post nochmal bitte das komplette Statement.

lg myGil



#25 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 17. April 2015 - 14:48

Hier mal die Statements die ich benutz habe:

 

SELECT KEYIPAR1, SUBSTRING(FOLIEN', 19, 2) AS folnr   
FROM view_PAR
 

Dieses zeigt mir alle Schlüssel in der Spalte KEYIPAR1 enthalten sind sowie die Spalte folnr mit einsen.

 

Und das hier liefert mir die Spalte "folnr" mit nullen:

 

SELECT patindex ('%FOLIEN%', KEYIPAR1) AS folnr   
FROM view_PAR
 





Auch mit einem oder mehreren der folgenden Tags versehen: MS SQL