ďťż
 
[mysql] specyficzne wyswietlanie wynikow ďťż
 
[mysql] specyficzne wyswietlanie wynikow
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

[mysql] specyficzne wyswietlanie wynikow



sd - 12-11-2006 01:29
[mysql] specyficzne wyswietlanie wynikow
  witam

mam tabele z kolumnami:
id, nazwa, rodzaj

chcialbym wyswietlac z niej normalnie wiersze, ale jezeli rodzaj == 3 to
niech wyrzuca 2 wiersze - jeden z rodzaj = 1, drugi z rodzaj = 2

probowalem z union ale nie wychodzi mi

da sie cos takiego zrobic w mysql?
jezeli tak to jak?

pozdrawiam





JT - 12-11-2006 01:29

  sd wrote:
> witam
>
> mam tabele z kolumnami:
> id, nazwa, rodzaj
>
> chcialbym wyswietlac z niej normalnie wiersze, ale jezeli rodzaj == 3to
> niech wyrzuca 2 wiersze - jeden z rodzaj = 1, drugi z rodzaj = 2
>
> probowalem z union ale nie wychodzi mi
>
> da sie cos takiego zrobic w mysql?
> jezeli tak to jak?

Według mnie trochę słabo przybliżyłeś problem, bo jakoś nikt nie
odpowiada.

SELECT * FROM tabela;

-- i wypisze Ci wszystkie wiersze. A dalej sobie sortuj, grupuj, jak
chcesz :)

Ale pewnie nie o to Ci chodziło?

JT




sd - 12-11-2006 01:29

  JT napisał(a):

> SELECT * FROM tabela;
>
> -- i wypisze Ci wszystkie wiersze. A dalej sobie sortuj, grupuj, jak
> chcesz :)
>
> Ale pewnie nie o to Ci chodziło?

skad wiesz ?:)

poprostu zalozmy ze mam 3 wiersze
1 muzyka 1
2 komputery 2
3 rosliny 3

chce takie cos:
1 muzyka 1
2 komputery 2
3 rosliny 1
3 rosliny 2

czyli jak masz ta 3 kolumne wartosc 3, to zeby tak jakby 2 razy
wyswietlil ten sam wiersz, a dodatkowo zeby zamienial ta trojke na 1 i 2
(w drugim wierszu - tym powtorzonym)

pozdrawiam




Wojtek pBT - 12-11-2006 01:30

  Dnia 25-09-2006 o 21:59:20 sd <sd@sd.com> napisał(a):

> JT napisał(a):
>
>> SELECT * FROM tabela;
>> -- i wypisze Ci wszystkie wiersze. A dalej sobie sortuj, grupuj, jak
>> chcesz :)
>> Ale pewnie nie o to Ci chodziło?
>
> skad wiesz ?:)
>
> poprostu zalozmy ze mam 3 wiersze
> 1 muzyka 1
> 2 komputery 2
> 3 rosliny 3
>
> chce takie cos:
> 1 muzyka 1
> 2 komputery 2
> 3 rosliny 1
> 3 rosliny 2
>
> czyli jak masz ta 3 kolumne wartosc 3, to zeby tak jakby 2 razy
> wyswietlil ten sam wiersz, a dodatkowo zeby zamienial ta trojke na 1 i 2
> (w drugim wierszu - tym powtorzonym)
>

po prosstu dodaje sobie tabelę translacji z danymi:

rodzaj |rodzaj2
1|1
2|2
3|1
3|2

i robisz
SELECT uid,nawa,rodzaj2 FROM trenslacje LEFT JOIN tab USING(rodzaj)

pBT
> pozdrawiam

--
Używam klienta poczty Opera Mail: http://www.opera.com/mail/





Paweł Matejski - 12-11-2006 01:30

  sd wrote:
>
> poprostu zalozmy ze mam 3 wiersze
> 1 muzyka 1
> 2 komputery 2
> 3 rosliny 3
>
> chce takie cos:
> 1 muzyka 1
> 2 komputery 2
> 3 rosliny 1
> 3 rosliny 2
>
> czyli jak masz ta 3 kolumne wartosc 3, to zeby tak jakby 2 razy
> wyswietlil ten sam wiersz, a dodatkowo zeby zamienial ta trojke na 1 i 2
> (w drugim wierszu - tym powtorzonym)

No właśnie union all użyj. W pierwszym selecie wybierz wszystkie rekordy z typem
rożnym od 3, a w dwóch następnych z typem = 3.

--
P.M.




sd - 12-11-2006 01:30

  Paweł Matejski napisał(a):

> No właśnie union all użyj. W pierwszym selecie wybierz wszystkie rekordy z typem
> rożnym od 3, a w dwóch następnych z typem = 3.

wlasnie o ten ALL chodzilo:)
dzieki bardzo

pozdrawiam




sd - 12-11-2006 01:30

  Wojtek pBT napisał(a):

> po prosstu dodaje sobie tabelę translacji z danymi:
>
> rodzaj |rodzaj2
> 1|1
> 2|2
> 3|1
> 3|2
>
> i robisz
> SELECT uid,nawa,rodzaj2 FROM trenslacje LEFT JOIN tab USING(rodzaj)

ciekawy sposob:)
hmmm, ale ile tych wierszy ma byc w tej tabeli? tyle ile mam tych towarow?
to troche malo elastyczne, no chyba ze nie rozumiem.

dzieki

pozdrawiam




Wojtek pBT (prac) - 12-11-2006 01:30

  sd napisał(a):
> Wojtek pBT napisał(a):
>
>> po prosstu dodaje sobie tabelę translacji z danymi:
>>
>> rodzaj |rodzaj2
>> 1|1
>> 2|2
>> 3|1
>> 3|2
>>
>> i robisz
>> SELECT uid,nawa,rodzaj2 FROM trenslacje LEFT JOIN tab USING(rodzaj)
>
> ciekawy sposob:)
> hmmm, ale ile tych wierszy ma byc w tej tabeli? tyle ile mam tych towarow?
> to troche malo elastyczne, no chyba ze nie rozumiem.

Dużo bardziej elastyczne niż za każdym razem przerabiać zapytaniaz
UNION po dodaniu warunku.

Nie, to jest dla wszystkich wierszy z rodzajem 1,2,3 (tylko tyle ile
masz rodzajów tłumaczonych 1=> 1, 2=>2, 3=>1 && 3=>2)

Jeżeli rodzaj 3 będzie występował stosunkowo rzadko, a będzieszmiał
jeszcze 4-100 "normalnych" rodzajów to zrób tak:

rodzaj |rodzaj2
3|1
3|2

SELECT uid,nawa,tab.rodzaj FROM trenslacje LEFT JOIN tab USING(rodzaj)
WHERE ISNULL(rodzaj2)
UNION
SELECT uid,nawa,rodzaj2 FROM trenslacje LEFT JOIN tab USING(rodzaj)
WHERE NOT ISNULL(rodzaj2)

ps.: pisało sie ISNULL a nie IS NULL?...

pBT

>
> dzieki
>
> pozdrawiam
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?= [mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?= [MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?= [mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?= [MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?= [MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?= Gdzie MySQL 4.1, a gdzie 5.0? [MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?= [MS SQL] "set names" (mySQL) w MS SQL [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?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nocnerozmowy.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com