FAQ |
Kalender |
2010-04-08, 22:20 | #1 | ||
|
|||
Nykomling
|
Hejsan,
Nu börjar jag bli galen och behöver lite hjälp på traven! Jag får följande fel: Error Message: Column 'dbo.tblTypeOfCost.name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. med följande sql sats: SELECT dbo.tblTypeOfCost.name, dbo.tblOffer.amount, dbo.tblOffer.campaignID, dbo.tblOffer.offerID FROM dbo.tblOffer INNER JOIN dbo.tblTypeOfCost ON dbo.tblOffer.typOfCostID = dbo.tblTypeOfCost.typeOfCostID GROUP BY dbo.tblOffer.typOfCostID Har testat att ta bort name och lägga till typOfCostID i select men får det inte att fungera! Någon som kan se felet? Tack på förhand! |
||
Svara med citat |
2010-04-08, 22:26 | #2 | ||
|
|||
Har WN som tidsfördriv
|
SELECT dbo.tblTypeOfCost.name, dbo.tblOffer.amount, dbo.tblOffer.campaignID, dbo.tblOffer.offerID
FROM dbo.tblOffer INNER JOIN dbo.tblTypeOfCost ON dbo.tblOffer.typOfCostID = dbo.tblTypeOfCost.typeOfCostID GROUP BY dbo.tblOffer.typOfCostID, dbo.tblTypeOfCost.name, dbo.tblOffer.amount, dbo.tblOffer.campaignID, dbo.tblOffer.offerID Tyvärr kommer det nog inte ge det resultat du önskar... |
||
Svara med citat |
2010-04-08, 22:41 | #3 | ||
|
|||
Nykomling
|
digiArt: Tack för ditt snabba svar men det gav inte det resultatet jag vela ha
Det jag vill är att kunna gruppera ihop så jag får summorna tillsammans och baserat på namnen t.ex. namn1 - 2000 (namn1 - 1000, namn1 - 1000) namn2 - 16000 (namn2 - 8000, namn2 - 8000) |
||
Svara med citat |
2010-04-08, 23:37 | #4 | ||
|
|||
Klarade millennium-buggen
|
Kan du lägga ut CREATE statement så man kan skapa tabellerna själv, lite trött så jag orkar inte skapa tabellen manuellt...
|
||
Svara med citat |
2010-04-08, 23:59 | #5 | ||
|
|||
Nykomling
|
Yeps här kommer dom
CREATE TABLE [dbo].[tblOffer]( [offerID] [int] IDENTITY(1,1) NOT NULL, [offerNO] [varchar](255) NULL, [supplierID] [int] NULL, [amount] [varchar](255) NULL, [typOfCostID] [int] NULL, [campaignID] [int] NULL, CONSTRAINT [PK_tblOffer] PRIMARY KEY CLUSTERED ( [offerID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] CREATE TABLE [dbo].[tblTypeOfCost]( [typeOfCostID] [int] IDENTITY(1,1) NOT NULL, [name] [varchar](255) NULL, CONSTRAINT [PK_tblTypeOfCost] PRIMARY KEY CLUSTERED ( [typeOfCostID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] |
||
Svara med citat |
2010-04-09, 01:04 | #6 | ||
|
|||
Klarade millennium-buggen
|
Jag testkör på MySQL 5.1 i Ubuntu 9.10 men får syntaxfel på rad 1 (dvs "[dbo].[tblOffer](") ....
Senast redigerad av Conny Westh den 2010-04-09 klockan 01:10 |
||
Svara med citat |
2010-04-09, 06:43 | #7 | ||
|
|||
Har WN som tidsfördriv
|
SELECT dbo.tblTypeOfCost.name, SUM(CAST(dbo.tblOffer.amount as int) )
FROM dbo.tblOffer INNER JOIN dbo.tblTypeOfCost ON dbo.tblOffer.typOfCostID = dbo.tblTypeOfCost.typeOfCostID GROUP BY dbo.tblOffer.typOfCostID, dbo.tblTypeOfCost.name Lagra din amount som decimal(28,6) eller liknande så slipper du köra en cast. |
||
Svara med citat |
Svara |
|
|