20. august 2006 - 15:13Der er
5 kommentarer og 1 løsning
Hente fra 2 tabeller på samme tid
Jeg prøver at hente på 2 tabeller fra samme tid, det plejer også at gå helt fint, men jeg ved ikke helt, hvad jeg skal gøre når skal bruges en WHERE til begge 2. Jeg har prøvet at gøre som nedenstående, men det var ikke helt rigtigt.
"SELECT BudgetCategories.maxbudget, SUM(Budget.expense) as used FROM BudgetCategories, Budget WHERE BudgetCategories.cname='" & cmbCategory.Text & "' AND Budget.category='" & cmbCategory.Text & "'"
Du bør prøve at joine de to tabeller, f.eks.: FROM BudgetCategories INNER JOIN Budget ON BudgetCategories.kolonne = Budget.kolonne hvor "kolonne" er den henholdsvis primær og fremmednøgle
Din forsøgte query tyder da ellers på at Budget.category og BudgetCategories.cname er lig hinanden... så er det bare at sætte de to lig med hinanden i stedet for den sidste af de to.
Da du bruger en sum funktion, er du nødt til at tilføje en GROUP BY på det andet felt:
"SELECT BudgetCategories.maxbudget, SUM(Budget.expense) as used FROM BudgetCategories INNER JOIN Budget ON BudgetCategories.cname = Budget.category WHERE BudgetCategories.cname='" & cmbCategory.Text & "' GROUP BY BudgetCategories.maxbudget"
Det er den måde man sædvanligvis gør det, men der er for så vidt ikke noget til hinder for at gøre som du gør, at sætte en fast selektering på felterne i begge tabeller, men du kommer ikke uden om at bruge en GROUP BY når du bruger en sum funktion.
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.