Výběr produktů a dvou cen, aby se zobrazovaly na jednom řádku – MS SQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výběr produktů a dvou cen, aby se zobrazovaly na jednom řádku – MS SQL – Fórum – Programujte.comVýběr produktů a dvou cen, aby se zobrazovaly na jednom řádku – MS SQL – Fórum – Programujte.com

 

Helena Kovaříková
~ Anonymní uživatel
2 příspěvky
4. 6. 2014   #1
-
0
-

V tabulce CENIK mám sloupce
PRODUKT (obsahuje názvy produktů),
CENIK (např. maloobchodní, velkoobchodní, internetový, akční 2012, akční 2013),
CENA... a další, které nejsou důležité.
Pro každý produkt je v tabulce více ceníků a v každém je jiná cena. Ač je to nelogické, tak s tímto nic udělat nemůžu. 

Potřebuji získat z tabulky výstup, kde bude NA JEDNOM ŘÁDKU název produktu, jeho velkoobchodní cena a jeho maloobchodní cena. Zatím jsem se dostala k tomu, že mám ke každému produktu řádky dva, každý s jednou cenou. Půjde to nějak? Prosím, pomozte!

Tady je můj SELECT:

SELECT  product,
CASE WHEN cenik=`velkoobchodni` THEN cena END AS Velkoobchodni,
CASE WHEN cenik=`maloobchodni` THEN cena END AS Maloobchodni
FROM cenik
WHERE cenik IN (`velkoobchodni`,`maloobchodni`)

Díky

Nahlásit jako SPAM
IP: 78.24.10.–
p3can
~ Anonymní uživatel
312 příspěvků
4. 6. 2014   #2
-
0
-

ted to pisu z hlavy ale neni to takto ?

SELECT  product as pname, (SELECT cena FROM cenik WHERE cenik=`velkoobchodni` AND produkt=pname) as C1, (SELECT cena FROM cenik WHERE cenik=`maloobchodni` AND produkt=pname) as C2
FROM cenik

Nahlásit jako SPAM
IP: 77.92.213.–
Helena Kovaříková
~ Anonymní uživatel
2 příspěvky
4. 6. 2014   #3
-
0
-

#2 p3can
Moc díky, ale píše mi to, že "invalid column name `pname`" u obou vnořených selectů

Nahlásit jako SPAM
IP: 78.24.10.–
P
~ Anonymní uživatel
212 příspěvků
4. 6. 2014   #4
-
0
-

Taky pisu z hlavy:

SELECT
      product
    , MAX(CASE WHEN cenik = 'velkoobchodni' THEN cena ELSE 0 END) AS Velkoobchodni
    , MAX(CASE WHEN cenik = 'maloobchodni' THEN cena ELSE 0 END) AS Maloobchodni
FROM cenik
WHERE cenik IN ('velkoobchodni', 'maloobchodni')
GROUP BY product

Nebo muzes pouzit PIVOT

Nahlásit jako SPAM
IP: 85.93.116.–
p3can
~ Anonymní uživatel
312 příspěvků
4. 6. 2014   #5
-
0
-

#3 Helena Kovaříková
SELECT  z.product, (SELECT a.cena FROM cenik a WHERE a.cenik=`velkoobchodni` AND a.produkt=z.produkt), (SELECT b.cena FROM cenik b WHERE b.cenik=`maloobchodni` AND b.produkt=z.produkt)
FROM cenik z

Nahlásit jako SPAM
IP: 77.92.213.–
Helena
~ Anonymní uživatel
3 příspěvky
5. 6. 2014   #6
-
0
-

#5 p3can
Díky za opravu, už to jede! Díky moc za pomoc!

Nahlásit jako SPAM
IP: 78.24.10.–
Helena
~ Anonymní uživatel
3 příspěvky
5. 6. 2014   #7
-
0
-

#4 P
Díky, díky! Také funguje! Jste super!

Nahlásit jako SPAM
IP: 78.24.10.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý