22. marts 2006 - 10:33
Der er
7 kommentarer og 1 løsning
subquery, where fra "parent" query
jeg har brug for at lave noget ala : select a,b,c,(select andetfelt from tabel2 where substring(a,0,4) = 'den anden tabels a) as d from tabel1 men den kan jeg ikke helt finde hovede og hale i hvordan jeg skal gøre. jeg kunne lave en join, hvis det ikke havde været for det faktum at det ene felt er et substring af et andet :( har i nogen idéer?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
22. marts 2006 - 11:27
#1
Du skal bare specificere det: SELECT a, b, c, (SELECT andetfelt FROM tabel2 WHERE SUBSTRING(a, 0, 4) = tabel1.a) AS d FROM tabel1
22. marts 2006 - 19:56
#2
Jeg ville jo nok gøre det med en ganske alm. LEFT JOIN i stedet: SELECT t1.a, t1,b, t1.c, t2.andetfelt as d FROM tabel1 t1 LEFT JOIN tabel2 t2 ON SUBSTRING(t1.a, 0, 4) = t2.a
22. marts 2006 - 19:57
#3
Må startpos i en SUBSTRING i det hele taget være 0 i MS SQL? Eller er det bare en fejl?
23. marts 2006 - 09:17
#4
kjulius > At startpos er 0 fremkalder ikke en fejl, men giver den virkning at strengen der returneres bliver kortere: SUBSTRING('Tekst', 1, 3) - giver 'Tek' som forventet; "start ved første og giv mig 3 bogstaver" SUBSTRING('Tekst', 0, 3) - 'Te', man kunne sig at den "starter et bogstav før starten og giver 3 bogstaver derfra: <ingenting>, 'T' og 'e' dex_dexter > Man kan faktisk godt joine på en SUBSTRING ...
smid nogle svar, jeg fik det til at spille med en god gang skodscripting :)
det der var så ikke et svar
Computerworld tilbyder specialiserede kurser i database-management