Nietypowe zapytanie
Miazga Adam - 27-02-2007 00:02
Nietypowe zapytanie
Hej.
Moze wieciwe jak cos taiego zrobic pod MSSQL ? mam tabele
--------------------- |numer | nazwa | --------------------- |1 | ala | --------------------- |1 | ola | --------------------- |2 | ela | ---------------------
i chce zeby po selekcie wygladalo tak
--------------------- |numer | nazwa | --------------------- |1 | ala ola | --------------------- |2 | ela | ---------------------
lub (jak byb sie tak udalo to by bylo super) --------------------- |numer | nazwa | --------------------- |1 | ala | | | ola | --------------------- |2 | ela | ---------------------
Adam.
mattoid - 27-02-2007 00:02
Dnia Mon, 26 Feb 2007 12:24:53 +0100, Miazga Adam napisał(a):
> Moze wieciwe jak cos taiego zrobic pod MSSQL ? > mam tabele [..]
Witam! A próbowałeś np. wynik selecta wrzucić do kursora i później z kursora przenieść go do odpowiednich zmiennych i wyświetlić na ekranie?
-- Pozdrawiam mattoid
Miazga Adam - 28-02-2007 00:07
Po calodniowym googlowaniu cos sie udalo znalezc
Jesli kogos interesuje tu przyklady na Oracle http://www.oracle-base.com/articles/...php#row_number a pomizej na MSSQL moze komus sie przyda
SET NOCOUNT ON
CREATE TABLE PERSON (PERSON_ID INT, PERSON_NAME VARCHAR(25))
INSERT INTO PERSON VALUES(1, 'Col. Mustard') INSERT INTO PERSON VALUES(2, 'Mr. Green') INSERT INTO PERSON VALUES(3, 'Mrs. Peacock') INSERT INTO PERSON VALUES(4, 'Ms. Scarlet')
CREATE TABLE PLACE (PLACE_ID INT, PLACE_NAME VARCHAR(25))
INSERT INTO PLACE VALUES(1, 'Conservatory') INSERT INTO PLACE VALUES(2, 'Ball Room') INSERT INTO PLACE VALUES(3, 'Study') INSERT INTO PLACE VALUES(4, 'Hall') INSERT INTO PLACE VALUES(5, 'Kitchen')
CREATE TABLE PERSON_AND_PLACE (PERSON_ID INT, PLACE_ID INT)
INSERT INTO PERSON_AND_PLACE VALUES(1, 1) INSERT INTO PERSON_AND_PLACE VALUES(1, 3) INSERT INTO PERSON_AND_PLACE VALUES(2, 3) INSERT INTO PERSON_AND_PLACE VALUES(2, 4) INSERT INTO PERSON_AND_PLACE VALUES(3, 2) INSERT INTO PERSON_AND_PLACE VALUES(3, 5) INSERT INTO PERSON_AND_PLACE VALUES(4, 2) INSERT INTO PERSON_AND_PLACE VALUES(4, 3) INSERT INTO PERSON_AND_PLACE VALUES(1, 5) INSERT INTO PERSON_AND_PLACE VALUES(4, 5) GO
CREATE FUNCTION fnPlace_List(@PERSON_ID INT) RETURNS VARCHAR(255) AS BEGIN DECLARE @PLACE_LIST VARCHAR(255) SET @PLACE_LIST = '' SELECT @PLACE_LIST = @PLACE_LIST + ', ' + PLACE_NAME FROM PLACE P INNER JOIN PERSON_AND_PLACE PAP ON P.PLACE_ID = PAP.PLACE_ID WHERE PAP.PERSON_ID = @PERSON_ID ORDER BY PLACE_NAME SET @PLACE_LIST = SUBSTRING(@PLACE_LIST, 3, LEN(@PLACE_LIST)) RETURN(@PLACE_LIST) END GO
SELECT PERSON_NAME , dbo.fnPlace_List(PERSON_ID) AS PLACES FROM PERSON GO
RESULTS:
PERSON_NAME PLACES -------------------- --------------------------------------- Col. Mustard Conservatory, Kitchen, Study Mr. Green Hall, Study Mrs. Peacock Ball Room, Kitchen Ms. Scarlet Ball Room, Kitchen, Study
Pozdrawiam Użytkownik "mattoid" <mattoid@ciach.interia.pl> napisał w wiadomości news:1p4ug92ibfbqr$.1t6rfamyqtqmt$.dlg@40tude.net. .. > Dnia Mon, 26 Feb 2007 12:24:53 +0100, Miazga Adam napisał(a): > >> Moze wieciwe jak cos taiego zrobic pod MSSQL ? >> mam tabele > [..] > > Witam! > A próbowałeś np. wynik selecta wrzucić do kursora i później z kursora > przenieść go do odpowiednich zmiennych i wyświetlić na ekranie? > > -- > Pozdrawiam > mattoid
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
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?=
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
[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
zanotowane.pldoc.pisz.plpdf.pisz.plets2.xlx.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 |
|