Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Problém s výběrem hodonoty z tabulek v MS SQL

Dobrý den,
pokusím se vysvětlit můj problém ve zjednodušené podobě.

Mám tabulku Tabulka1 ve které jsou uloženy čísla př.: 1,2,3...
tyto čísla jsou idčka v Tabulce2.

a já potřebuji aby mi select nevrátil číslo ale už hodnotu pod idčkem z druhé tabulky
takže se mi nevrátí 1,2,3... ale "pod idčkem 1 je uloženo auto".

Je to jen ukázka potřebuji jen zjistit jak se to dá udělat, pak už si to rozšířím potřebuji to porovnávat takto mezi cca 4-5 tabulkami.

Děkuji moc za váš čas a pomoc.

Předmět Autor Datum
select t2.nazev from tabulka1 t1 join tabulka2 t2 on t1.t2id = t2.id Sežeň si nějakou knížku o SQL,…
Wikan 15.08.2011 20:10
Wikan
jj tak ve škole to budu brát až za 2 roky :D děkuju moc jdu to vyzkoušet a aplikovat.
Atomix617 15.08.2011 20:14
Atomix617
Skúšaj, aplikuj..., ale hlavne si o tom niečo prečítaj. :-) Za 2 roky až to budete brať v škole bude…
pme 15.08.2011 20:18
pme
jj doufám ;) a přečtu si jen teď to potřebuji vyřešit tento problém :)
Atomix617 15.08.2011 20:21
Atomix617
select indo.nazevFirmy from info_dopravce indo join dopravce_info doin on indo.id = doin.dopravce D…
Atomix617 15.08.2011 20:30
Atomix617
Nakonec jsem to udělal celé takto: SELECT inza.firma, indo.nazevFirmy, doin.Cobjednavky, inmn.mnakl…
Atomix617 15.08.2011 21:27
Atomix617
Máš zajímavě pojmenované tabulky. Zvlášť info_dopravce a dopravce_info určitě vůbec nebude matoucí.…
Wikan 15.08.2011 21:42
Wikan
Mam to udělané jako nápovědu při vkládání objednávky takže se mi do objednávky naukládají jen idčka…
Atomix617 15.08.2011 21:57
Atomix617
Že se ukládají jenom IDčka je normální, kvůli tomu nemusí být nějaké "nápovědné" tabulky. select ID…
Wikan 15.08.2011 22:04
Wikan
nene ty jsou kvůli že uživatel nemusí vypisovat vždy firmu,adresu,fa,telefon,..... ale zadá tam jen…
Atomix617 15.08.2011 22:07
Atomix617
Je mi jasné že by se to vše dalo řešit elegantně :) ale do toho mám ještě daleko ale pracuji natom.
Atomix617 15.08.2011 22:08
Atomix617
Na tom bys měl začít pracovat hned na začátku. Říká se tomu normalizace databáze. Pokud ji neprovede…
Wikan 15.08.2011 22:17
Wikan
SELECT Cobjednavky, SUM(id) AS Expr1 FROM objednavka_info GROUP BY Cobjednavky už to jen změnit pro…
Atomix617 15.08.2011 22:22
Atomix617
select IDdodavatel, sum(cena) from objednavky group by IDdodavatel tohle je podle toho jak jsem poc…
Atomix617 16.08.2011 00:20
Atomix617
Tenhle výpis je ale podle mě nesmysl. Z jakého důvodu se "ea" a "er" zredukovalo jenom na "ae"? Jina…
Wikan 16.08.2011 07:55
Wikan
nerozimues, len si naklikal script cez ten debilny dizajner a este si si tam nechal aj aliasy "expr1…
wam_Spider007 16.08.2011 13:04
wam_Spider007
Ten jsem napsal celej ja a pak jsem to hodil do disaineru abych to vyzkoušel a on to tam dopsal tak… poslední
Atomix617 16.08.2011 23:08
Atomix617

Nakonec jsem to udělal celé takto:

SELECT inza.firma, indo.nazevFirmy, doin.Cobjednavky, inmn.mnakladky, inmv.mvykladky, obin.datumNakladky, obin.datumVykladky, obin.cena, doin.cena AS Expr1,
obin.cena - doin.cena AS Expr2
FROM info_dopravce AS indo INNER JOIN
dopravce_info AS doin ON indo.id = doin.dopravce INNER JOIN
objednavka_info AS obin ON doin.Cobjednavky = obin.Cobjednavky INNER JOIN
info_zakaznik AS inza ON obin.zakaznik = inza.id INNER JOIN
info_mvykladky AS inmv ON obin.mistoVykladky = inmv.id INNER JOIN
info_mnakladky AS inmn ON obin.mistoNakladky = inmn.id

a děkuji moc už tomu rozumím.

Mam to udělané jako nápovědu při vkládání objednávky takže se mi do objednávky naukládají jen idčka z př.: info_dopravce, info_mnakladky, info_mvykladky, info_zakaznik,.... a není to matoucí vše co začína info je ta nápověda ve které mám bližší údaje.
A ano m=místo.

A mám ještě jeden dotaz ono může být více objednávek pod jedním dodavatelem dá se v MS SQL udělat jakási podmínka, že když tam budou dvě objednávky se stejným Cobjednavky(Číslem objednávky) aby se nevypsaly ale pouze se sečetly nějaké údaje a pak až vypsaly?

jestli ano stačí mi zase nějaká jednoduchá ukázka já to už nějak ošéfuji :) Děkuji moc za dosavadní obrovskou pomoc a doufám že mi poradíte i stímto :)

Děkuji

select IDdodavatel, sum(cena)
from objednavky
group by IDdodavatel

tohle je podle toho jak jsem pochopil pro tabulku ve které existuje dana skupina jak to mám změnit když je tam tabulek více a v některých IDdodavatel vůbec není?

Nebo mě teď napadlo dalo by se stím výstupem v sql dál pracovat? když mi ten příkaz vyhodí:

cisloObj nazev cena
001 aa 100
002 ae 1250
002 er 50

pak ten výstup zredukovat na:

cisloObj nazev cena
001 aa 100
002 ae 1300

Diky

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