25. marts 2002 - 13:18Der er
40 kommentarer og 1 løsning
Hente data fra to tabeller
Hej
Det er sikkert meget nemt, men jeg ved ikke lige hvordan man gør...
Jeg skal hente data fra to MySQL tabeller hvor een betingelse er opfyldt. Hvordan henter jeg fra begge på samme tid? Har prøvet at adskille dem med komma i nedenstående SQL, men det virker ikke... SQLstmt = "SELECT * FROM tbl_1,tbl_2 WHERE skrevet af = '" & Session("id") & "'"
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Høyst sannsynlig så er det fordi din kolonne 'skrevet af' skaper problemer. Kall din kolonne 'skrevet_af' eller 'skrevetAf' og *ikke* bruk spaces i kolonne navn
Du skal bruge inner join. Select * from tabel1 INNER JOIN "felt i første tabel" ON "felt i anden table"
Synes godt om
Slettet bruger
25. marts 2002 - 13:24#3
nute > Øhhh havde ikke lige set det (havde ændret i den oprindelige SQL fordi jeg ikke havde lyst til at røbe navnene på mine tabeller og felter) men den står altså ikke med mellemrum i den jeg bruger ;o)
Synes godt om
Slettet bruger
25. marts 2002 - 13:27#4
ras > Gider du at indsætte det i min existerende SQL (har aldrig rodet med andet end INSERT, UPDATE, DELETE..)
Æh det er lidt svært uden at vide hvordan dine tabeller er bygget op. Er det to ens tabeller, altså med ens kolonner, du vil have sammenføjet til en lang, eller er det to forskellige tabeller? Og det bliver helt umuligt at gøre hvis jeg ikke kender navnene på dine tabeller, kollonner, osv.
ras2000 > man behøver ikke å skrive INNER JOIN. måten som allerede er angitt, er en implisitt måte å skrive INNER JOIN på, så det er ikke noe galt i det.
ezolu >> hvilken feil får du ?
Synes godt om
Slettet bruger
25. marts 2002 - 13:36#7
ras > Strukturen i de to tabeller er ens. Jeg vil have hentet alle rs fra begge tabeller hvor Session("id") er den aktuelle
Synes godt om
Slettet bruger
25. marts 2002 - 13:38#8
nute > Column: 'skrevetaf' in where clause is ambiguous
ezolu >> selv om man tror at ens behov er unikt og at man ikke kan løse det på en annen måte, så er det sjelden korrekt. Jeg vil nok påstå at det er en dårlig løsning helt til du klarer å overbevise meg om det...(men det er jo ikke det som er poenget med denne thread).
prøv:
SQLstmt = "SELECT * FROM tbl_1,tbl_2 ON tbl_1.skrevetaf = tbl_2.skrevetaf WHERE tbl_1.skrevetaf = '" & Session("id") & "'"
Så skal du vist bruge noget der hedder union select. select feltnavn1, feltnavn2 from tabel1 where betingelse union select feltnavn1, feltnavn2 from tabel2 where betingelse.
tja...jeg har laget en database med tabellene tbl_1 og tbl_2 som inneholder kolonnene ID og skrevetaf. Når jeg fyrer av overstående SQL, så får jeg data fra begge tabeller...det fungerer iallefall for meg...
nute > skrevetaf indeholder en en ID ala 'dvQWnvAc792X693' som er den pågældende brugers id og session("id") er naturligvis denne, hvis det er til nogen hjælp?
Jeg har lige lavet denne her, den virker helt fint. SELECT * FROM her WHERE id > 2 UNION SELECT * FROM der WHERE id > 3;
Synes godt om
Slettet bruger
25. marts 2002 - 14:27#32
ras > Hvad er det lige det har med sagen at gøre... Jeg skal ikke bruge noget med <>...
Synes godt om
Slettet bruger
25. marts 2002 - 14:29#33
Sådan ser den ud hos mig : SQLstmt = "select * from tbl_1 where skrevetaf = '" & Session("id") & "' union select * from tbl_2 where skrevetaf = '" & Session("id") & "'"
Nej, det var bare for at vise at man godt kunne føje to tabeller sammen på den måde jeg havde skrevet. Om betingelsen er =, > eller < må være ligemeget. Hvis du nu kun kigger på den ene tabel, virker din betingelse så? Og virker den også hvis du kigger på den anden tabel alene? Det ville jeg prøve at kigge på, hvis jeg var dig. Jeg tror ikke dit problem ligger i at føje tabellerne sammen.
Så gir jeg op. Det skulle virke. Hvis der ikke er fejl i måden du har skrevet din betingelse, og du er helt sikker på at begge tabeller har det samme antal kollonner, med samme datatyper, i samme rækkefølge, og det stadig ikke virker, så kan jeg altså ikke gennemskue hvad der skulle være galt.
Synes godt om
Slettet bruger
25. marts 2002 - 14:38#37
ras > Mon ikke problemet ligger ved '" & Session("id") & "' union select?
Det skulle ikke give problemer. Men prøv at få siden til at skrive din sql sætning ud, så kan du jo se om den ser ud som du havde tænkt dig det. Altså i stedet for at udføre sætningen, så response.write sqlstm. Så prøv at klistre den herind, så vi kan kigge på den sammen.
Synes godt om
Slettet bruger
25. marts 2002 - 17:39#40
Det virker nu.. Jeg besluttede mig for at lytte til Nutes kloge ord.. Der er jo ingen grund til at ha' to identiske tabeller :o) Så nu er problemet løst... Hvis Nute svarer, så får han points. Tak for din indsats RAS :-)
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.