Hittar inte felet i min SQL-fråga. Får inga felmeddelanden men det returneras helelr inga records...
sql = "SELECT orders.orderid, orders.datum, orders.betalning, kunder.fnamn, kunder.enamn, kunder.epost, kunder.kundID, SUM(artiklar.pris) as priset FROM orders, kunder, artiklar WHERE orders.status = 0 AND orders.kundid = kunder.kundID AND artiklar.artikelid = '(SELECT orderartikel.artikelid FROM orderartikel WHERE orderartikel.artikelid = orders.artikelid)' GROUP BY orders.orderid, orders.datum, orders.betalning, kunder.fnamn, kunder.enamn, kunder.epost, kunder.kundID"
Andvänd kod-taggen i stället så att man får bättre överblick!
sql = "SELECT orders.orderid, orders.datum, orders.betalning, kunder.fnamn, kunder.enamn, kunder.epost, kunder.kundID, SUM(artiklar.pris)
as priset FROM orders, kunder, artiklar WHERE orders.status = 0 AND orders.kundid = kunder.kundID AND artiklar.artikelid =
'(SELECT orderartikel.artikelid FROM orderartikel WHERE orderartikel.artikelid = orders.artikelid)'
GROUP BY orders.orderid, orders.datum, orders.betalning, kunder.fnamn, kunder.enamn, kunder.epost, kunder.kundID"
SELECT o.orderid, o.datum, o.betalning, k.fnamn, k.enamn, k.epost, k.kundID, Sum(artiklar.pris) AS priset
FROM (orders o
INNER JOIN kunder k ON k.kundID = o.kundid)
WHERE o.artikelid IN
(SELECT oa.artikelid FROM orderartikel oa INNER JOIN orders o ON o.artikelid = oa.artikelid)
AND status = 0
GROUP BY o.orderid, o.datum, o.betalning, k.fnamn, k.enamn, k.epost, k.kundID
Det här kan iofs bli helt galet då jag inte vet hur din databas är uppbyggd.
red. Såg just att jag missat hela tabellen artiklar, så det där blir det nog inte som du vill :)
Hittar inte felet i min SQL-fråga. Får inga felmeddelanden men det returneras helelr inga records...
sql = "SELECT orders.orderid, orders.datum, orders.betalning, kunder.fnamn, kunder.enamn, kunder.epost, kunder.kundID, SUM(artiklar.pris) as priset FROM orders, kunder, artiklar WHERE orders.status = 0 AND orders.kundid = kunder.kundID AND artiklar.artikelid = '(SELECT orderartikel.artikelid FROM orderartikel WHERE orderartikel.artikelid = orders.artikelid)' GROUP BY orders.orderid, orders.datum, orders.betalning, kunder.fnamn, kunder.enamn, kunder.epost, kunder.kundID"
Jag TROR att felet kan bero på den här biten:
artiklar.artikelid = '(SELECT orderartikel.artikelid FROM orderartikel WHERE orderartikel.artikelid = orders.artikelid) '
Du skriver ju att artiklar.artikelid ska vara lika med strängen (SELECT orderartikel.artikelid FROM orderartikel WHERE orderartikel.artikelid = orders.artikelid) - jag antar att det inte är avsikten? Har du några sådana skumma artikelid? Är det inte därför du inte får någon träff?
Även om du tar bort strängmarkeringen förstår jag inte vad du ska med din subselect till? Eftersom orderartikel.artikelid = orders.artikelid kan du ju lika bra skriva:
... AND artiklar.artikelid = orders.artikelid
261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2