08. december 2006 - 07:19Der er
11 kommentarer og 1 løsning
Problemer med at få en join til at virke ?
Hejsa,
Jeg sidder og roder med en sql forspørgelse som jeg ikke kan få til at virke.
Jeg har 2 tabeller en ordrehoved og en ordrelinier. Det jeg skal er følgende :
1. Finde ud af om en kunde har mere end en ordre. 2. Hvis kunden har mere end en ordre skal der tjekkes om et varenummer går igen på 2 eller flere ordre.
Da kunde id ikke ligger i ordrelinier skal sql'en laves med en join og det kan jeg ikke helt hitte rede i.
Håber der er en der kan hjælpe mig igennem dette ;o)
Jeg har lavet flere forsøg og det der kom tættes på er noget der ligne dette :
Select count(distinct(ordlinier.varenummer)), ordrehoved.debitorkonto from ordlinier left join ordrehoved on ordlinier.ordrenummer = ordrehoved.ordrenummer group by ordrehoved.debitorkonto having (count(ordlinier.varenummer) > 1)
prøv denne.. ved ikke helt om det vil fungere.. tjek om ikke andet lige syntax igennem;) det er lidt svært selv at se når jeg bare skriver her på E.. men ellers noget som det jeg skriver her... hvis det er valid SQL=)
SELECT ordlinier.ordrenummer as ordl,ordrehoved.ordrenummer as ordh, ordlinier.varenummer as ordvar FROM ordrehoved, ordlinier WHERE ordl = ordh AND ordl IN (SELECT COUNT(odrenummer) as antal FROM ordlinier as ol WHERE ol.ordrenummer = ordl AND antal > 0) AND ordvar IN (SELECT COUNT(ordlinier.varenummer) as am FROM ordlinier as olg WHERE olg.varenummer = ordvar AND am > 1)
Jeg har lige forsøgt mig lidt frem og tilbage og har ændret lidt på den :
SELECT ordlinier.ordrenummer, ordrehoved.ordrenummer, ordlinier.varenummer FROM ordrehoved, ordlinier WHERE ordlinier.ordrenummer = ordrehoved.ordrenummer AND ordlinier.ordrenummer IN ( SELECT COUNT(ordrenummer) AS n FROM ordlinier ol WHERE ol.ordrenummer = ordlinier.ordrenummer AND n > 0)
AND ordlinier.varenummer IN ( SELECT COUNT( ordlinier.varenummer ) AS m FROM ordlinier olg WHERE olg.varenummer = ordlinier.varenummer AND m > 1 )
Men med denne får jeg fejl på henholdsvis 'n' og 'm' :
Unknown column 'n' in 'where clause' Unknown column 'm' in 'where clause'
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.