ďťż
 
[MYSQL] Niespodziewany wynik ďťż
 
[MYSQL] Niespodziewany wynik
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] Niespodziewany wynik



=?ISO-8859-2?Q?Bogus=B3aw_Faja?= - 29-11-2005 10:11
[MYSQL] Niespodziewany wynik
  Witam!

Dla zapytania:

SELECT
substring( tytul_PL, 1, 1 ) as url,
if
(
substring( tytul_PL, 1, 1 )='1',
'0-9',
substring( tytul_PL, 1, 1 )
) as nazwa
FROM
`books`
GROUP BY
IF
(
substring( tytul_PL, 1, 1 ) BETWEEN 0 AND 9 ,
'0-9',
substring( tytul_PL, 1, 1 )
)

Otrzymuję tylko 'T', mimo, że wg. mnie powinienem dostać dość sporą
część alfabetu (tytul_PL to tytul ksiazki, a mi chodzi o wyciagniecie
pierwszych liter tytulow, w przypadku, gdy tytul zaczyna sie inaczej niz
0-9)... Efekt tego przedstawia strona: http://books24.8-c.org/
W sekcji Alfabetycznie jest tylko jedna literka... Jest gdzieś błąd w
zapytaniu?

pozdr.





Proton - 29-11-2005 10:11

 
Użytkownik "Bogusław Faja" <zymen@zymen.net> napisał w wiadomości
news:dmcmni$2jkf$1@node1.news.atman.pl...
> Witam!
>
> Dla zapytania:
>
>
> SELECT
> substring( tytul_PL, 1, 1 ) as url,
> if
> (
> substring( tytul_PL, 1, 1 )='1',
> '0-9',
> substring( tytul_PL, 1, 1 )
> ) as nazwa
> FROM
> `books`
> GROUP BY
> IF
> (
> substring( tytul_PL, 1, 1 ) BETWEEN 0 AND 9 ,
> '0-9',
> substring( tytul_PL, 1, 1 )
> )
>
> Otrzymuję tylko 'T', mimo, że wg. mnie powinienem dostać dość sporą część
> alfabetu (tytul_PL to tytul ksiazki, a mi chodzi o wyciagniecie pierwszych
> liter tytulow, w przypadku, gdy tytul zaczyna sie inaczej niz 0-9)...
> Efekt tego przedstawia strona: http://books24.8-c.org/
> W sekcji Alfabetycznie jest tylko jedna literka... Jest gdzieś błąd w
> zapytaniu?

Zamiast GROUP BY uzyj DISTINCT i zobacz jaki bedzie wynik
--
pozdro
Proton




=?ISO-8859-2?Q?Bogus=B3aw_Faja?= - 29-11-2005 10:11

  Proton napisał(a):
> Zamiast GROUP BY uzyj DISTINCT i zobacz jaki bedzie wynik

To jest jakieś rozwiązanie, ale jak mam w takim razie wrzucić tytuły:

01 nazwa xyz
3ds max
100 poręcznych

W jedną kategorię?

Chodzi mi o stworzenie listy a...z, gdzie do danej literki przypinane są
wszystkie książki, których nazwy się nią właśnie rozpoczynają i jednej
tylko grupy 0-9, gdzie przypinane są wszystkie książki, których nazwy
rozpoczynają się od cyfry...

Jak to osiągnąć przy pomocy distinct?

pozdr.




Jester - 29-11-2005 10:11

  Bogusław Faja napisał(a):

> Witam!
>
> Dla zapytania:
>
>
> SELECT
> substring( tytul_PL, 1, 1 ) as url,
> if
> (
> substring( tytul_PL, 1, 1 )='1',

Dlaczego nie substring( tytul_PL, 1, 1 ) BETWEEN 0 AND 9 jak w group by?

> '0-9',
> substring( tytul_PL, 1, 1 )
> ) as nazwa
> FROM
> `books`
> GROUP BY
> IF
> (
> substring( tytul_PL, 1, 1 ) BETWEEN 0 AND 9 ,
> '0-9',
> substring( tytul_PL, 1, 1 )
> )
>
order by 2;

> Otrzymuję tylko 'T', mimo, że wg. mnie powinienem dostać dość sporą
> część alfabetu (tytul_PL to tytul ksiazki, a mi chodzi o wyciagniecie
> pierwszych liter tytulow, w przypadku, gdy tytul zaczyna sie inaczej
> niz 0-9)... Efekt tego przedstawia strona: http://books24.8-c.org/
> W sekcji Alfabetycznie jest tylko jedna literka... Jest gdzieś błąd w
> zapytaniu?
>

Poza zaznaczonymi powyżej miejscami, w których bym zmienił (choć nie ma
to wpływu na Twój błąd), wyglądą że jest ok i powinno zwracać co
chciałeś. Sprawdziłem u siebie na naprędce stworzonej tabeli i mam
alfabet z liter dla których są pozycje. Próbowałeś wykonywać to
zapytanie z innego poziomu (np. bezpośrednio w konsoli mysqla)? Zobacz
jaki naprawdę zwraca wynik. Być może problem jest z fragmentem skryptu
generującym to rozwijane menu - przyjrzyj się dokładnie temu miejscu,
ew. zapytaj na stosownej grupie jeżeli okaże się, że to błąd w skrypcie
z którym nie potrafisz się uporać.

--
Pozdrawiam
Jester





=?ISO-8859-2?Q?Bogus=B3aw_Faja?= - 01-12-2005 20:33

  Jester napisał(a):

>> SELECT
>> substring( tytul_PL, 1, 1 ) as url,
>> if
>> (
>> substring( tytul_PL, 1, 1 )='1',
>
>
> Dlaczego nie substring( tytul_PL, 1, 1 ) BETWEEN 0 AND 9 jak w group by?

Pomyłka przy modyfikacjach kodu, w celu sprawdzenia, gdzie jest coś nie
tak.. ale to tak jak napisałeś niżej, nie zmienia istoty kodu.

>> '0-9',
>> substring( tytul_PL, 1, 1 )
>> ) as nazwa
>> FROM
>> `books`
>> GROUP BY
>> IF
>> (
>> substring( tytul_PL, 1, 1 ) BETWEEN 0 AND 9 ,
>> '0-9',
>> substring( tytul_PL, 1, 1 )
>> )
>>
> order by 2;
>
>> Otrzymuję tylko 'T', mimo, że wg. mnie powinienem dostać dość sporą
>> część alfabetu (tytul_PL to tytul ksiazki, a mi chodzi o wyciagniecie
>> pierwszych liter tytulow, w przypadku, gdy tytul zaczyna sie inaczej
>> niz 0-9)... Efekt tego przedstawia strona: http://books24.8-c.org/
>> W sekcji Alfabetycznie jest tylko jedna literka... Jest gdzieś błąd w
>> zapytaniu?
>>
>
> Poza zaznaczonymi powyżej miejscami, w których bym zmienił (choć nie ma
> to wpływu na Twój błąd), wyglądą że jest ok i powinno zwracać co
> chciałeś. Sprawdziłem u siebie na naprędce stworzonej tabeli i mam
> alfabet z liter dla których są pozycje. Próbowałeś wykonywać to
> zapytanie z innego poziomu (np. bezpośrednio w konsoli mysqla)? Zobacz
> jaki naprawdę zwraca wynik. Być może problem jest z fragmentem skryptu
> generującym to rozwijane menu - przyjrzyj się dokładnie temu miejscu,
> ew. zapytaj na stosownej grupie jeżeli okaże się, że to błąd w skrypcie
> z którym nie potrafisz się uporać.

To jest błąd w zapytaniu.. albo mysql. Sprawdzałem phpmyadminem i jest
to samo... lokalnie wszystko działa poprawnie, zdalnie już są problemy
(inne engine mysqla?).

Problem jest dokladnie na hostings.pl
  • 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 - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • numervin.keep.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