Hallo allemaal,


Ik heb de volgende SQL:

$sql = "
SELECT 
	r.ID,
	r.rma_nr,
	i.client,
	c.name,
	c.contact,
	c.email
FROM
	returns AS r
INNER JOIN
	return_items AS i
			ON i.rma_nr = r.rma_nr
INNER JOIN
	clients as c
			on c.ID = i.client
ORDER BY
	r.date
DESC
";


Nu krijg ik voor elke row in return_items een result.
Ik wil alleen het volgende:

RETURNS:
rma_nr

RETURN_ITEMS
client

CLIENTS
name
contact
email

Er kan maar 1x een uniek rma_nr voorkomen in RETURNS
In Return Items kan het unieke RMA meerdere keren voorkomen (unique_id matcht daarmee van returns)

Waarom krijg ik nu toch 2x results?


RETURNS


RETURN ITEMS


CLIENTS
Misschien een hele domme vraag, maar waarom staat de client in return_items en niet in returns? Kan 1 return meerdere clients hebben?
Verdorie... daar zeg je wat :)

Maar lost dat mijn probleem dan ook op?
Indirect wel, omdat je dan nog maar 1 join nodig hebt en je dus niet meer per return item een resultaat krijgt. Een andere oplossing kan het gebruik van DISTINCT zijn.
Werkt wel wat jij net aangaf.

Eigenlijk ook wel beter, want ik selecteer toch op RMA_NR.

Volgende stap is Per RMA_NR alle artikelen aangeven, maar dat zie ik dan wel weer :D
Joni Fleischer op 04/10/2015 12:57:54

Verdorie... daar zeg je wat :)

Maar lost dat mijn probleem dan ook op?


Dude, dat stelde ik hier ook al voor, is het kwartje nu wel gevallen?

Vervolgens stelt Ivo P hetzelfde nogmaals voor, en dan wordt hij bedankt.

Neem de volgende keer ajb de tijd om te proberen om te begrijpen wat mensen je proberen te vertellen of geef aan dat je niet snapt wat iemand bedoelt. Thx.

Reageren