---
title: "Finn ett fel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/75039-finn-ett-fel"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Pikkenix"
published: "2003-04-25T13:32:39.000Z"
updated: "2003-04-25T16:42:01.000Z"
replies: 10
views: 260
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/75039-finn-ett-fel"
---

# Finn ett fel

## #1 — Pikkenix, 2003-04-25T13:32Z

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"

Permalänk: https://www.webforum.nu/p/75039

## #2 — m_soderlund, 2003-04-25T13:37Z

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"
```

**/r** Och förresten - jag kan inte. :(

Permalänk: https://www.webforum.nu/p/1024548

## #3 — Pikkenix, 2003-04-25T13:44Z

Hittade du felet nu då?

Permalänk: https://www.webforum.nu/p/1024556

## #4 — m_soderlund, 2003-04-25T13:53Z

Jag har kollat igenom SQL-satsen flera gånger nu och hittar fortfarande inget fel. Får du något felmeddelande?

Permalänk: https://www.webforum.nu/p/1024559

## #5 — LarsG, 2003-04-25T13:58Z

Varför har du ett kommentarstecken här?

```
'(SELECT orderartikel.artikelid
```

Utan att ha tillgång till hela databasen går det inte att säga varför du inte får något svar.

Om du inte får något resultat så får du bryta ner frågan i mindre delar och testa ut dem var för sig.

Permalänk: https://www.webforum.nu/p/1024567

## #6 — Engine^, 2003-04-25T14:02Z

Det finns ingen order som har status = 0?

```
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 :)

Permalänk: https://www.webforum.nu/p/1024572

## #7 — Pikkenix, 2003-04-25T14:03Z

får ju inget felmeddelande det är därför jag har så sjukligt svårt att hitta flet, den får inte med några poster bara...

anledningen till ' är att det är en sträng inte ett tal...

Permalänk: https://www.webforum.nu/p/1024574

## #8 — Pikkenix, 2003-04-25T14:04Z

tror att det är fel på den nestade sökningen men vet inte var...

Permalänk: https://www.webforum.nu/p/1024577

## #9 — Pikkenix, 2003-04-25T14:14Z

Vad jag funderade på är orders.artikelid i 

'(SELECT orderartikel.artikelid FROM orderartikel WHERE orderartikel.artikelid = orders.artikelid)'

refererar till, vilken orders.artikelid väljer den?

Permalänk: https://www.webforum.nu/p/1024587

## #10 — Pikkenix, 2003-04-25T14:42Z

Fixade det på annat håll.

Om någon löser det så kan ni ju säga till iafall...

Permalänk: https://www.webforum.nu/p/1024621

## #11 — aasah, 2003-04-25T16:42Z

Re: Finn ett fel

> **Pikkenix skrev:**
>
> 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

Permalänk: https://www.webforum.nu/p/1024698

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/75039-finn-ett-fel
