Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Gdy uzyje w zapytaniu ORDER BY, znika jedno pole
intol
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


Witam. Wywołuję w mySQL zapytanie:

  1. SELECT a.id AS id, SUBSTR(a.`content`,1,20) AS `content`, a.topic AS topic FROM articles a, votings v WHERE v.parent_type='articles' AND v.type IN ('proposition','popularity') AND v.parent_id=a.id ORDER BY a.`value` DESC LIMIT 0, 5


Jako wynik dostaję prawidłową tabelę z id i topic, ale pole content jest zawsze puste. Problem znika, gdy usuwam z kwarendy ORDER BY a.`value` DESC.

Może jakiś pomysł dlaczego tak się dzieje i jak tego uniknąć?

Ten post edytował intol 24.08.2006, 17:34:27
Go to the top of the page
+Quote Post
Adiasz
post
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 28.02.2004

Ostrzeżenie: (0%)
-----


a przypadkiem nie jest tak ze pierwsze 5 rekordow posortowane po value ma pole content puste, he?
sprubuj bez limita :-)
Go to the top of the page
+Quote Post
intol
post
Post #3





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


Nie, tak napewno nie jest. Bez LIMIT efekt ten sam.

Udało mi się zlokalizować błąd dokładniej, może teraz komuś uda się mi pomóc:

Problem występuje, gdy używam SUBSTR, przy jendoczesnym użyciu łączonych tabel i ORDER BY, tzn.

  1. SELECT SUBSTR(a.content,1,300) AS content FROM articles a, files f ORDER BY a.points

... zwróci pole 'content' jako puste, natomiast zapytanie
  1. SELECT a.content AS content FROM articles a, files f ORDER BY a.points

...zwróci właściwą wartość pola 'content'.
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Tak nie powinno byc mozesz podac wersje bazki?
Go to the top of the page
+Quote Post
intol
post
Post #5





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


MySQL: 5.0.22;

pole 'content' jest typu longtext

W zasadzie wartość pola jest zwracana na dwa sposoby: albo jako puste, albo NULL (gdy przed użyciem funkcji SUBSTR ma ono wartość NULL).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 20:57