MySql pohled - zobrazení dat ve sloupci – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

MySql pohled - zobrazení dat ve sloupci – MySQL – Fórum – Programujte.comMySql pohled - zobrazení dat ve sloupci – MySQL – Fórum – Programujte.com

 

Martin
~ Anonymní uživatel
1600 příspěvků
31. 1. 2013   #1
-
0
-

Zdravím,
mám 2 tabulky... tabulka se zbožím, kde je IDZbozi, NazevZbozi a různé ceny ve sloupcích Cena1, Cena2, Cena3 atd a dále tabulku uživatelů, kde je uloženo UzivatelID a CenovaSkupina jako integer 1,2,3 atd daného uživatele.

Potřeboval bych vytvořit pohled, který by ukazoval IDZbozi, NazevZbozi z tabulky Zbozi a sloupec CenaX na základě vyhodnocení z tabulky Uzivatele. Takže něco ve smyslu:

------------------------------
CREATE VIEW Produkty as select
KodZbozi,
NazevZbozi,
CenaZbozi as select CenovaSkupina from Uzivatele WHERE UzivatelID = " zde by se zadalo číslo uživatele",
DispoziceZbozi FROM Zbozi
--------------------------------
 

Vygooglil jsem neco o CREATE FUNCTION ale nějak to zatím moc nepobírám, nevím jestli můžu namísto jměna sloupce zadat funkci, která by vrátila jméno sloupce, který by v pohledu byl vidět

Ta funkce by po zadání ID uživatele (integer) měla vrátit string stožený z řetězce "Cena" a čísla ve sloupci CenovaSkupina z tabulky Uzivatele kde UiivatelID = vstupni hodnota...

Nevím jestli jdu správnou cestou, proto budu rád za jakoukoli pomoc.

Díky Martin

Nahlásit jako SPAM
IP: 89.190.74.–
Martin
~ Anonymní uživatel
1600 příspěvků
31. 1. 2013   #2
-
0
-

#1 Martin
Zdravím, tak jsem rozchodil to co si predstavuju nasledujici procedurou, vysledek dostanu pomoci Call Produkty(Cisli zakaznika)...
Myslite si ze je to rozumne reseni ?

Diky

CREATE PROCEDURE `table2`.`Produkty` (IN Cid INT)
BEGIN
Declare ColName varchar(10);
set ColName = Concat("CenaZbo", (select CenovaSkupina from table1.Customers Where CustID = Cid));
set @query :=Concat("Select Cislo, ", ColName , " from table1.Zbozi");
PREPARE s FROM @query;
EXECUTE s;
DEALLOCATEPREPARE s;
END

Nahlásit jako SPAM
IP: 89.190.74.–
Sipi
~ Anonymní uživatel
19 příspěvků
31. 1. 2013   #3
-
0
-
Nahlásit jako SPAM
IP: 144.36.194.–
Sipi
~ Anonymní uživatel
19 příspěvků
31. 1. 2013   #4
-
0
-
Nahlásit jako SPAM
IP: 144.36.194.–
Martin
~ Anonymní uživatel
1600 příspěvků
31. 1. 2013   #5
-
0
-

#4 Sipi


No mě jde o to, že by to měl být "pohled" pro lidi z venku, které nechci pouštět do dat v tabulkách.

#1 Martin

Nahlásit jako SPAM
IP: 89.190.90.–
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, 2 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ý