ďťż
 
Wyciągnięcie z podzapytania do zapytania ďťż
 
Wyciągnięcie z podzapytania do zapytania
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Wyciągnięcie z podzapytania do zapytania



Przemek - 24-07-2007 00:12
Wyciągnięcie z podzapytania do zapytania
  Witam. Posluguje sie MS SQL Server. Zdefiniowalem sobie takie zapytanie
zawierajace podzapytanie i chce, zeby w tabeli wynikowej pojawiala mi sie tez
kolumna Ile. Problem w tym, ze przy wykonaniu pojawia sie blad. Jak wyciagnac
COUNT do zapytania glownego?

SELECT Ile, *
FROM Klienci k1
WHERE ((SELECT COUNT(*) AS Ile
FROM Klienci k2
WHERE k2.Klient_nadrzedny = k1.Klient) > 0)

--
Przemek

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





Pawel Potasinski - 24-07-2007 00:12

  SELECT COUNT(k2.*) Ile, k1.<tu_wypisz_potrzebne_kolumny_z_k1>
FROM dbo.Klienci k1
INNER JOIN dbo.Klienci k2
ON k2.Klient_nadrzedny = k1.Klient
GROUP BY <tu_wypisz_potrzebne_kolumny_z_k1>

W Twojej wersji też można to wyświetlić:

SELECT (SELECT COUNT(*) AS Ile
FROM Klienci k2
WHERE k2.Klient_nadrzedny = k1.Klient)
Ile, k1.*
FROM Klienci k1
WHERE ((SELECT COUNT(*) AS Ile
FROM Klienci k2
WHERE k2.Klient_nadrzedny = k1.Klient) >
0)

--
Pozdrawiam
Paweł Potasiński

Użytkownik "Przemek" <mixermannWYTNIJTO@poczta.onet.pl> napisał w wiadomości
news:7af7.00000090.46a49513@newsgate.onet.pl...
> Witam. Posluguje sie MS SQL Server. Zdefiniowalem sobie takie zapytanie
> zawierajace podzapytanie i chce, zeby w tabeli wynikowej pojawiala mi sie
> tez
> kolumna Ile. Problem w tym, ze przy wykonaniu pojawia sie blad. Jak
> wyciagnac
> COUNT do zapytania glownego?
>
> SELECT Ile, *
> FROM Klienci k1
> WHERE ((SELECT COUNT(*) AS Ile
> FROM Klienci k2
> WHERE k2.Klient_nadrzedny = k1.Klient) >
> 0)
>
> --
> Przemek
>
>
> --
> Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




Przemek - 27-07-2007 00:01

  Dzieki. Zastosowalem jedno z podanych rozwiazan, choc myslalem, ze da sie jakos
uniknac dublowania zapytania.
W miedzyczasie powstal kolejny problem. Mam tabele, w ktorej kolumna z PK to
zwykly numer od 1 w gore (powiedzmy do 5000), ale nie jest zachowana ciaglosc
tej numeracji. Jak skonstruowac takie zapytanie, ktore pokaze mi, ktorych
numerow w podanej kolumnie dla zadanego zakresu brakuje?

--
Przemek

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




Hubert - 27-07-2007 00:01

  Przemek wrote:
> Dzieki. Zastosowalem jedno z podanych rozwiazan, choc myslalem, ze da sie jakos
> uniknac dublowania zapytania.
> W miedzyczasie powstal kolejny problem. Mam tabele, w ktorej kolumna z PK to
> zwykly numer od 1 w gore (powiedzmy do 5000), ale nie jest zachowana ciaglosc
> tej numeracji. Jak skonstruowac takie zapytanie, ktore pokaze mi, ktorych
> numerow w podanej kolumnie dla zadanego zakresu brakuje?
>
Hmm... Nie wiem czy jest jakiś prosty sposób na wygenerowanie w
zapytaniu zbioru intów (co by ułatwiło sprawę). Ale możesz utworzyć
tabelę (tymczasowo lub na stałe) z jedną kolumną i wypełnić ją
odpowiednim zakresem liczb. Następnie zrobić select na tej pomocniczej
tabeli z left join z tabelą która Cię interesuje i szukać wierszy, w
których "joinowane" pole przyjmuje wartość null.

Albo zrobić select z "głównej" tabeli UNION select z tabeli pomocniczej
i wybrać wiersze, które występują raz (group by + count).

Albo skorzystać z konstrukcji WHERE NOT EXISTS (select....).

Hubert





Borafu - 27-07-2007 00:01

  Przemek pisze:
> Dzieki. Zastosowalem jedno z podanych rozwiazan, choc myslalem, ze da sie jakos
> uniknac dublowania zapytania.
> W miedzyczasie powstal kolejny problem. Mam tabele, w ktorej kolumna z PK to
> zwykly numer od 1 w gore (powiedzmy do 5000), ale nie jest zachowana ciaglosc
> tej numeracji. Jak skonstruowac takie zapytanie, ktore pokaze mi, ktorych
> numerow w podanej kolumnie dla zadanego zakresu brakuje?

Tak lekko OT.
W jakim celu potrzebne Ci luki w numeracji PK?
Będziesz dodawał nowe zapisy z wykorzystaniem tych brakujących numerów?
--
Borafu




Przemek - 27-07-2007 00:01

  > W jakim celu potrzebne Ci luki w numeracji PK?
> Będziesz dodawał nowe zapisy z wykorzystaniem tych brakujących numerów?

Do statystyki, w jakich okresach ludzie kasowali rekordy, a potem moze do
wypelnienia dziur. Zobaczy sie.

--
Przemek

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




Przemek - 27-07-2007 00:01

  > Hmm... Nie wiem czy jest jakiś prosty sposób na wygenerowanie w
> zapytaniu zbioru intów (co by ułatwiło sprawę). Ale możesz utworzyć
> tabelę (tymczasowo lub na stałe) z jedną kolumną i wypełnić ją

Tez tak myslalem. I ze mozna jakos wykorzystac operator BETWEEN AND, ale nie
wiem jak taki generator zrobic.

> odpowiednim zakresem liczb.
> Albo zrobić select z "głównej" tabeli UNION select z tabeli pomocniczej
> i wybrać wiersze, które występują raz (group by + count).

Moze lepiej tabela pomocnicza MINUS tabela glowna?

> Albo skorzystać z konstrukcji WHERE NOT EXISTS (select....).

Tez moze i mozna.

--
Przemek

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




szaman - 31-07-2007 00:01

  Przemek pisze:
>> W jakim celu potrzebne Ci luki w numeracji PK?
>> Będziesz dodawał nowe zapisy z wykorzystaniem tych brakujących numerów?
>
> Do statystyki, w jakich okresach ludzie kasowali rekordy, a potem moze do
> wypelnienia dziur. Zobaczy sie.
>
Jeżeli do statystyki to chyba nie od tej strony zaczynasz -
naturalniejszym i łatwiejszym będzie zacząć od tych "okresów" \i po
problemie.

Co do dziur w numeracji to stary "problem" ale nie z tymi dziurami tylko
z ludźmi, którym tak ich żal i próbują coś z nimi zrobić.

Według mnie to kutwy ;-)

żałują numerka jak by im mało ich jeszcze zostało :-)
..
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= =?ISO-8859-2?Q?Narz=EAdzie_do_budowania_zapyta=F1_SQL=2C?==?I SO-8859-2?Q?_PL/PgSQL=2C_PL/SQL=2C_T-SQL?= [ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?= phpMyAdmin zadaje =?ISO-8859-2?Q?z=B3e_zapytania=2E=2E=2E_Dl?==?ISO-8859-2?Q?aczego=3F?= [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?= [MySQL] Zapytanie z =?ISO-8859-2?Q?dw=F3ch_tabel_na_raz_?==?ISO-8859-2?Q?i_grupowanie_po_wsp=F3lnym_polu=2E_Jak_=3F?= mecze sie i mecze i nic - zapytanie czesciowe [sql][pgsql] zapytanie sql
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shanti.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com