Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Je možné zostaviť MySQL

Je možné zostaviť takúto MySQL tabuľku?

KRAJINA - FARBA

1. Poľsko - červená - biela
2. Slovensko - biela - modrá - červená
3. Česko - biela - modrá - červená
4. India - modrá - biela - zelená - oranžová
5. Seychely - modrá - žltá - červená - biela - zelená
6. Vatikán - biela - žltá
7. Líbya - zelená
8. Fínsko - biela - modrá

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Následne po zadaní vstupu napr: žltá, biela, modrá, vypísať výstup: Vatikán - 100%, Fínsko - 100%, S…
Nighthorse 03.02.2014 00:21
Nighthorse
priklad vypoctu pre jednu krajinu a tebou zvolene farby. ak predpokladame, ze to mas riesene podla m… nový
wam_Spider007 03.02.2014 00:29
wam_Spider007
Díky moc :) nový
Nighthorse 03.02.2014 01:11
Nighthorse
Tabulku se zememi a barvami neprovazuj přes jméno země, ale přidej si tam sloupec kód a do něj dej m… poslední
Jan Fiala 03.02.2014 07:49
Jan Fiala

priklad vypoctu pre jednu krajinu a tebou zvolene farby. ak predpokladame, ze to mas riesene podla mojho popisu c 2.

Tabulka Krajiny je prva tabulka, tabulka Farby je druha tabulka

SELECT (SELECT COUNT(*) FROM Farby WHERE NazovKrajiny = 'Vatikan' AND Farba IN ('žltá', 'biela, 'modrá')) / (SELECT COUNT(*) FROM Farby WHERE NazovKrajiny = 'Vatikan') * 100

pripadne potom pre vsetky krajiny:

SELECT
(SELECT COUNT(*) FROM Farby WHERE Farby.NazovKrajiny = Krajiny.NazovKrajiny AND Farby.Farba IN ('žltá', 'biela, 'modrá')) /
(SELECT COUNT(*) FROM Farby WHERE Farby.NazovKrajiny = Krajiny.NazovKrajiny)
* 100
FROM Krajiny

Tabulku se zememi a barvami neprovazuj přes jméno země, ale přidej si tam sloupec kód a do něj dej mezinárodní kód země. Přes ten pak provaž barvy.
Mezinárodní kód se měnit nebude, jméno země se změnit může, nehledě na to, že provazovat tabulky přes 50 znakové řetězce není moc optimální.

Zpět do poradny Odpovědět na původní otázku Nahoru