Nejčastěji odpovídající uživatel
Pomoc s dotazem ....

Dotaz
-
Dobrý den pomůže mě prosím někdo s triviálním dotazem SQL ...
Tabulka 1: Jméno Tabulka 2: Jméno, Číslo_SplátkyPotřebuji Select který mě pro každé jméno z tabulky1 doplní nejzazší nalezené číslo splátky z tabulky2.
Příklad výstupu :
Adam,34 (tzn. v Tabulka2 je Adam,1 ...Adam,10 ... Adam,34)
Josef,16 (tzn. v Tabulka2 je Josef,1 ...Josef,10 ... Josef,16)Děkuji
pátek 28. března 2014 13:13
Odpovědi
-
SELECT
Jmeno,Cislo_Splatky
FROM tabulka2
WHERE ((
Cislo_Splatky = (
SELECT
MAX
(Cislo_Splatky)
FROM
tabulka2)) AND
(tabulka1.jmeno = tabulka2.jmeno))
---------- Ondrej Zilinec - Cievo ----------
- Navržen jako odpověď Jan Chaloupek pátek 28. března 2014 14:28
- Označen jako odpověď Milos PuchtaModerator sobota 5. dubna 2014 12:54
pátek 28. března 2014 13:46
Všechny reakce
-
Nejsem SQLista :) A nevim zda to patri do techto for.
Dotaz na nejvyssi cislo splatky napr takovouto konstrukci:
SELECT TOP 1 Cislo_splatky FROM Tabulka2 WHERE (Jmeno= "jmeno") ORDER BY Cislo_splatky DESC
Ted to jen obalit nejakym WHILE ktery bude udela SELECT na vsechny prvky tabulky 1 a bude je cpat do vyse uvedene konstrukce.
Kontrukce while treba zde: http://technet.microsoft.com/en-us/library/ms178642.aspx
Nejdem SQLista, nechce se mi o tom prilis premyslet :)
pátek 28. března 2014 13:42 -
SELECT
Jmeno,Cislo_Splatky
FROM tabulka2
WHERE ((
Cislo_Splatky = (
SELECT
MAX
(Cislo_Splatky)
FROM
tabulka2)) AND
(tabulka1.jmeno = tabulka2.jmeno))
---------- Ondrej Zilinec - Cievo ----------
- Navržen jako odpověď Jan Chaloupek pátek 28. března 2014 14:28
- Označen jako odpověď Milos PuchtaModerator sobota 5. dubna 2014 12:54
pátek 28. března 2014 13:46 -
Dobrý den tak si nevím s dalším problémem ....
Mám vnořený dotaz :
LEFT OUTER JOIN
(SELECT CisloFA, LEFT(LTRIM(STR(CisloFA)), 6) AS DenikSmlouva, SUM(Celkem) AS CelkemUhrada
FROM dbo.UcDenik
GROUP BY CisloFA) Uhrady ON LEFT(LTRIM(STR(Uhrady.CisloFA)), 6) = LTRIM(STR(dbo.Smlouvy.Smlouva))
Ve výstupu vidím něco jako :
CisloFa CelkemUhrada DenikSmlouva
10000101 100 101001
10000102 200 101001
10000103 600 101001Potřebuju Celý výstup nagroupovat za DenikSmlouva ale nejde mě to, když dám do Group BY
GROUP BY LEFT(LTRIM(STR(CisloFA)), 6)) Uhrady ON LEFT(LTRIM(STR(Uhrady.CsiloFA)), 6) = LTRIM(STR(dbo.Smlouvy.Smlouva))
objeví se chyba : CisloFA invalid
Asi budu muset udělat sólo dotaz jestli mě nikdo neporadí ... :-) ... nebo si konečně přečíst nějakou příručku
Děkuji !!
čtvrtek 17. dubna 2014 18:39 -
Mate-li novy problem, zalozte nove vlakno a nepridavejte dalsi dotaz k jiz uzavrenemu pripadu.
Pristup blokuji, abych vam umoznil vytvoreni noveho dotazu.
M.
pátek 18. dubna 2014 6:47Moderátor