Portál AbcLinuxu, 14. července 2025 01:51


Dotaz: Problém s výrazem v dotazu Access 2007

31.1.2013 09:38 nohyboli
Problém s výrazem v dotazu Access 2007
Přečteno: 409×
Mám problém udělat v Accessu 2007 výraz pro celkovou cenu zbytků (z tabulky číslo 1 vynásobit cenu za 1 metr a z tabulky číslo 2 sumu délek) ale v dotazu mi nefunguje výraz, napíše mi to, že L (délka) není součástí agregační funkce, nevím co s tím. Dotaz zni: Vytvořte seznam s cenami zbytků pro každý materiál. Mám v tabulce Materiál (číslo, název, cena za 1 metr) a tabulku zbytky (číslo, název, délku, počet ks), v tom dotazu má být průměrná délka zbytku, max. délka zbytku a součet délky zbytků. To mám, teď mi jde o to tím výrazem udělat tu cenu zbytků pro každý materiál
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Diskuse byla administrátory uzamčena.
FAQ: Proč byl uzamčen/smazán můj dotaz v Poradně?

31.1.2013 10:03 NN
Rozbalit Rozbalit vše Re: Problém s výrazem v dotazu Access 2007
GTFO
31.1.2013 12:23 Marek
Rozbalit Rozbalit vše Re: Problém s výrazem v dotazu Access 2007
Zmente prosim otazku aby byl citelnejsi. To znamena nejak ho strukturujte a vlozte take SQL dotaz, ktery vraci tu chybu. Jinak tu chybu bud opravite tak, ze pridate delku do GROUP BY nebo ji date do agregacni funkce (MIN, MAX, AVG, ...). Ale chtelo by to priklad,
31.1.2013 13:40 nohyboli
Rozbalit Rozbalit vše Re: Problém s výrazem v dotazu Access 2007
Příloha:
SQL dotaz je zde: SELECT Materiál.[číslo materiálu], Materiál.[název materiálu], Avg(Zbytky.[L (m)]) AS [Průměrná délka zbytku], Max(Zbytky.[L (m)]) AS [Maximální délka zybtku], Sum(Zbytky.[L (m)]) AS [Součet délky zbytků], ([Materiál].[Cena za 1 metr])*([Zbytky].[Součet délky zbytků]) AS [Celková cena zbytků] FROM Materiál LEFT JOIN Zbytky ON Materiál.[číslo materiálu] = Zbytky.[číslo materiálu] GROUP BY Materiál.[číslo materiálu], Materiál.[název materiálu];

a v příloze je tabulka, která mě hlásí tu chybu
31.1.2013 14:56 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Problém s výrazem v dotazu Access 2007
Nepomuze tohle?
SELECT 
  Materiál.[číslo materiálu]
, Materiál.[název materiálu]
, Avg(Zbytky.[L (m)]) AS [Průměrná délka zbytku]
, Max(Zbytky.[L (m)]) AS [Maximální délka zybtku]
, Sum(Zbytky.[L (m)]) AS [Součet délky zbytků]
, SUM([Materiál].[Cena za 1 metr]*[Zbytky].[Součet délky zbytků]) AS [Celková cena zbytků]
FROM Materiál LEFT JOIN Zbytky 
  ON Materiál.[číslo materiálu] = Zbytky.[číslo materiálu]
GROUP BY Materiál.[číslo materiálu], Materiál.[název materiálu]; 
PS: priste ten kod davej do znacek <pre> a </pre>
Don't panic!
1.2.2013 08:41 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Problém s výrazem v dotazu Access 2007
( Uff ... že niekoho napadne použiť v SQL v mene stĺpca v medzery a dokonca diakritiku ... to som ešte nevidel. )

Dá sa ti urobiť
SELECT 
  Materiál.[číslo materiálu]
, SUM([Materiál].[Cena za 1 metr]*[Zbytky].[Součet délky zbytků]) AS [Celková cena zbytků]
FROM Materiál LEFT JOIN Zbytky 
  ON Materiál.[číslo materiálu] = Zbytky.[číslo materiálu]
GROUP BY Materiál.[číslo materiálu]
?

Ak áno, tak výsledok toho select-u prepoj zo zvyškom toho pôvodného selectu cez "číslo materiálu" a malo by to klapnúť nie?

Niečo ako:
SELECT 
  Materiál.[číslo materiálu] 
, Materiál.[název materiálu]
, Avg(Zbytky.[L (m)]) AS [Průměrná délka zbytku]
, Max(Zbytky.[L (m)]) AS [Maximální délka zybtku]
, Sum(Zbytky.[L (m)]) AS [Součet délky zbytků]
FROM Materiál 
LEFT JOIN Zbytky  ON Materiál.[číslo materiálu] = Zbytky.[číslo materiálu]
LEFT JOIN  
(
SELECT 
  Materiál.[číslo materiálu]
, SUM([Materiál].[Cena za 1 metr]*[Zbytky].[Součet délky zbytků]) AS [Celková cena zbytků]
FROM Materiál LEFT JOIN Zbytky 
  ON Materiál.[číslo materiálu] = Zbytky.[číslo materiálu]
GROUP BY Materiál.[číslo materiálu]
) SUCIN on  Materiál.[číslo materiálu] = SUCIN.[číslo materiálu]
GROUP BY Materiál.[číslo materiálu]
1.2.2013 10:44 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Problém s výrazem v dotazu Access 2007
Není relevantní k zaměření portálu, diskuzi zamykám.

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.