webForumDet fria alternativet

JOIN och sånt

6 svar · 239 visningar · startad av Nöff

NöffMedlem sedan nov. 2003569 inlägg
#1

tjena.

har en tabell med personer och deras ordrar. 1 person kan ha flera ordrar

tabell: personer
ID
namn

tabell:ordrar
ID
personID
produktnamn

SELECT personer.namn,ordrar.produktnamn FROM personer INNER JOIN ordrar ON personer.ID=ordrar.personID

Och då blir resultatet såhär:

"personer.namn"    "ordrar.produktnamn"
Olle Svettpärla      mjölkpaket
Olle Svettpärla      ost
Olle Svettpärla      getost

personer.namn blir hela tiden upprepad om det finns flera ordrar
Men jag vill ha så att det blir såhär istället:

"personer.namn"   "ordrar.produktnamn"
Olle Svettpärla     mjölkpaket
<NULL>              ost
<NULL>              getost

Eller ännu hellre såhär:

"personer.namn"   "ordrar.produktnamn"
Olle Svettpärla     <NULL>
<NULL>              mjölkpaket
<NULL>              ost
<NULL>              getost

Går detta att kirra? :l

@ndersMedlem sedan juni 200032 969 inlägg
#2

Lös det i applikationen, och inte i SQL.

NöffMedlem sedan nov. 2003569 inlägg
#3

Men tabellen personer innehåller egentligen 20 kolumner, exemplet jag visade här vara bara en förenkling.. för att en person kanske också har sisådär en 30 ordrar, det blir ju en ganska fet resultset :l ...
Men går det inte att lösa på nåt sätt i SQL?

:x :( :l :) :D :i :e :L

@ndersMedlem sedan juni 200032 969 inlägg
#4

Om du oroar dig över datamängden, strunta i att joina då. Hämta ett resultatset med kunddata och ett med orderdata.

NöffMedlem sedan nov. 2003569 inlägg
#5

Jo, det är så jag gör nu, men jag vill optimera alltihopa så att jag slipper ställa 2 SQL frågor.

@ndersMedlem sedan juni 200032 969 inlägg
#6

Att minska antalet SQL-frågor betyder inte att du optimerar. Är det något problem att göra som du gör nu?

NöffMedlem sedan nov. 2003569 inlägg
#7

nej, det är inget problem, men jag vill krama ur så mycket speed som möjligt.

125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)