Spojeni dvou tabulek přes neunikatni atribut – MS SQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Spojeni dvou tabulek přes neunikatni atribut – MS SQL – Fórum – Programujte.comSpojeni dvou tabulek přes neunikatni atribut – MS SQL – Fórum – Programujte.com

 

David
~ Anonymní uživatel
177 příspěvků
14. 7. 2014   #1
-
0
-

Ahoj,

muj problém je následující :)

table => sloupec(hodnoty)

ucty => cislo (1,2,3), centrum(1,2,3), otevreno(2012,2012,2013)

centra => cislo(1,1,2), nazev(RET, RET,SAD)

velice zjednodusene ale pro muj problem staci...:)

chtel bych počet úctu které byli otevřeny v roce 2012 a název centra ( tj řádek by měl byt pocet(2),rok(2012),nazev(RET)

pokud by v tabulce centra byl jen cislo(1,2) nazev(RET,SAD) tak přes join na cislo by to slo, ale jelikoz je cislo 1 v tabulce vícekrát haze mi to přes join větší pocet nez 2.... Co s tím?:) moc dekuju....:)

Nahlásit jako SPAM
IP: 37.48.45.–
P
~ Anonymní uživatel
212 příspěvků
15. 7. 2014   #2
-
0
-

Misto tabulky centra joinuj subquery z teto tabulky, kde bude SELECT DISTINCT

Nahlásit jako SPAM
IP: 85.93.116.–
peter
~ Anonymní uživatel
4016 příspěvků
15. 7. 2014   #3
-
0
-

No, a priklad tveho sql dotazu? On je obvykle dotaz a jeho vystup srozumitelnejsi nez zdlouhavy popis s instrukcemi poskladej si sam... Aspon ja zadani nerozumim, nevim, jak jini. Ale, kdyby tam byli prikazy CREATE tabulka ... sloupec INT..., SELECT, tak v tom se orientuji.

SELECT a.id, b.nazev
FROM ucty a
LEFT JOIN centra ON b.id_centrum=a.id_centrum
WHERE otevreno = '2012'

Pocet uctu je COUNT, ale pak by to byl slozitejsi dotaz, pac bys to musel grupovat, atd, atd. A to se mi v tom teple vymyslet nechce. count se da taky ziskat jako pocet radku, ktere vypise predchozi dotaz (v php mysql_number_rows).
 

Nahlásit jako SPAM
IP: 2001:718:2601:258:ad37:cc...–
P
~ Anonymní uživatel
212 příspěvků
15. 7. 2014   #4
-
0
-

Moje odpoved nemela za cil vyresit tazatelovu ulohu, ale pomoct mu s problemem se kterym si nevedel rady, tj. ze ma v tabulce centra duplicitni zaznamy.

Jinak samozrejme z uvedenych dat uvedeny pozadovany vysledek nedostane.

Spravne zadani by melo byt bud "Chtěl bych počet účtů které byly otevřeny v roce 2012 pro každé centrum, a název centra", nebo "Chtěl bych počet účtů které byly otevřeny v roce 2012" a podle toho by vypadal cely dotaz.

Nahlásit jako SPAM
IP: 85.93.116.–
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, 5 hostů

Podobná vlákna

Spojení dvou tabulek — založil Forest

Spojení tabulek — založil Paja2

Rychlost spojení tabulek — založil BigBear

 

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