Avatar billede withli Nybegynder
19. september 2004 - 00:31 Der er 5 kommentarer

Spørgsmål omkring Streng konkatenering i SQL

Jeg forsøger mig med sådan en SQL sætning som denne her.

update tproduct set fk_textindex_id_title = ttextindex.id from ttextindex where namedid + '_title' = text_id

Hvor at jeg har interesse i at opdatere et felt i min tabel tProduct nemlig fk_textindex_id_title til indholdet af et felt i en anden tabel tTextIndex.id. men det skal kun ske i de felter hvor at der står det samme som der gør i tProduct.namedid i ttextIndex_text_ID. En lang forklaring på at jeg vil streng konkatenere mit ene udtryk for at mit where clause kommer til at være sådan her

odette_title = odette_title

Nogle der er hardcore i postgress og kan fortælle mig om det her kan lade sig gøre
Avatar billede arne_v Ekspert
20. september 2004 - 20:16 #1
Vil du konkatanere et felt med en konstant eller vil du konstruere dynamisk SQL.

Det første er vel bare:

CONCAT(namedid,'_title') = text_id

Det sidste ved jeg ikke om man kan i PostgreSQL.
Avatar billede withli Nybegynder
22. september 2004 - 08:05 #2
Well problemet er jo at jeg blot vil sammenligne med en tekst streng som er et felt plus en konstant. jeg vil lige forsøge dit eksempel, men jeg tror næsten at det er det jeg skal bruge.
Avatar billede withli Nybegynder
24. september 2004 - 09:22 #3
Damn det virkede ikke.

Nogle andre gode forslag? Den siger at CONCAT ikke eksisterer.
Avatar billede bromer Nybegynder
28. september 2004 - 19:31 #4
Nej. Det er fordi PostGreSQL har valgt at konkatenering foregår med operatoren ||. Så derfor kan du gøre sådan her.

update tproduct set fk_textindex_id_title = ttextindex.id from ttextindex where namedid || '_title' = text_id

Det sidste mener jeg rent faktisk ikke du kan i PostGreSQL, men du bliver nok nød til at lave en subselect eller noget i den dur. Men prøv.. kan sagtens være jeg tager fejl.
Avatar billede withli Nybegynder
01. oktober 2004 - 10:49 #5
Beautiful Bromer, det var lige hvad jeg havde brug for, giv mig et svar så smider jeg point din retning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester