webForumDet fria alternativet

join sökning

8 svar · 268 visningar · startad av elvelind

elvelindMedlem sedan juli 2002167 inlägg
#1

har två tabeller. dels fordon och dels parker.

fordon ser ut : fordonsnamn | företagsid | parknamn

parker: parknamn | företagsid | ort

parker.parknamn kan vara dubbletter och parker.företagsid likaså. dock är de två tillsammans unika. dvs. varje företagsid kan inte ha mer än ett likadant parknamn

det jag vill göra just nu är att söka fram ett fordon med som ligger på en viss ort.

säg till om ni behöver mer förklaringar.

LarsGMedlem sedan dec. 200012 464 inlägg
#2
select fordon.* from fordon inner join parker 
on (fordon.företagsid = parker.företagsid 
and fordon.parknamn = parker.parknamn)
where ort = 'Ystad'
elvelindMedlem sedan juli 2002167 inlägg
#3

försökte något liknande först.. men det blev problem när jag skulle ha flera where satser.

vill att den dessutom ska söka efter where fordon.namn='namn' AND where fordon.id='id' alla where kraven måste uppfyllas. kanske bara jag som flummar och inte får det rätt.

LarsGMedlem sedan dec. 200012 464 inlägg
#4
select fordon.* from fordon inner join parker 
on (fordon.företagsid = parker.företagsid 
and fordon.parknamn = parker.parknamn)
where ort = 'Ystad'
and fordonsnamn = 'pluttan'

t.ex.

(Vilka kolumnnamn är det som gäller?)

elvelindMedlem sedan juli 2002167 inlägg
#5

sql ="SELECT fordon.namn, fordon.park, fordon.Regnr, fordon.biltyp, fordon.id, fordon.raknare, park.id, park.namn, park.lan FROM fordon INNER JOIN park ON (fordon.id = park.id and fordon.park = park.namn) WHERE (fordon.namn LIKE "& na & ") AND (fordon.Regnr LIKE "& re & ") AND (fordon.biltyp LIKE "& fo1 & " OR fordon.biltyp LIKE "& fo2 & " OR fordon.biltyp LIKE "& fo3 & " ) ORDER BY '"& Request.form("sortera") &"'"& Request.form("ordning") &" "

fungerar ej.. den vill inte välja ut några poster alls.. däremot om man tar bort join delen så väljs alla så som det ska

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Varför har du


ON (fordon.id = park.id and fordon.park = park.namn)

borde det inte räcka med

ON (fordon.park = park.namn)

Ett annat fel är att du har ' kring värdet i order by

Bör vara

ORDER BY  " & Request.form("sortera") & " " & Request.form("ordning")

Varför använder du like och inte =?

elvelindMedlem sedan juli 2002167 inlägg
#7

LarsG skrev:

Varför har du


ON (fordon.id = park.id and fordon.park = park.namn)

borde det inte räcka med

ON (fordon.park = park.namn)

därför att det kan finnas två parker med samma namn. dock kan bara varje företag (id) ha en park med ett namn

__________
Ett annat fel är att du har ' kring värdet i order by

Bör vara

ORDER BY  " & Request.form("sortera") & " " & Request.form("ordning")

slarvfel av mig
__________________________
Varför använder du like och inte =?

för att man i sökningen ska kunna skriva %lars%

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Ok, men det är din on-klausul som ställer till det.

Exakt hur är tabellerna definierade och hur ser relationen mellan dom ut? (Du nämner fordon.företagsid men du använder fordon.id så jag känner mig lite förvirrad.)

elvelindMedlem sedan juli 2002167 inlägg
#9

fordon.id och parker.id innehåller båda företagets id..

tabellerna har inga relation mellan varandra (mysql stöder inte vad jag vet .. eller? )

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