Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z zapytaniem
glowa
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 4.05.2003

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


Wyjasnie to na przykladzie:
mam jakas tabele iles tam pol no i interesujace nas pole nr powiedzmy cos takiego:

nr dane1 dane2 ...
2 dane2_1 .......
2 dane2_2 .....
2 dane2_3 .......
3 dane3_1 ......
3 dane3_2 .....
6 dane6_1 .....
6 dane6_2 .....
6 dane6_3 ......
...itd

jak skonstruowac zapytanie zeby pobierany byl tylko pierwszy rekord konkretnego numeru, czyli zeby wynikiem byly pola:

2 dane2_1
3 dane3_1
6 dane6_1

nie ma sensu tworzyc petli dla kazdego numeru (nr) bo to by bylo nieefektywne (dla kilkuset numerow)

wiec jak inaczej mozna b to rozwiazac
Go to the top of the page
+Quote Post
essey
post
Post #2





Grupa: Zarejestrowani
Postów: 118
Pomógł: 5
Dołączył: 9.07.2003
Skąd: Wołów/Wrocław

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


  1. SELECT * FROM baza WHERE dane1 LIKE '%_1'


I teraz, jeżeli w rekodzie znajdzie się na końcu _1 to pobierze dane w zapytaniu
Go to the top of the page
+Quote Post
spenalzo
post
Post #3





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Może tak?
  1. SELECT DISTINCT kolumna FROM tabela


--------------------

Go to the top of the page
+Quote Post
FiDO
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Pierwszy rekord konkretnego numeru... tzn? Wg czego stwierdzamy kolejnosc posrod danego numeru ? Wg ID ?

Jesli tak to mozna to zrobic tak:
  1. SELECT a.*
  2. FROM tabela a
  3. LEFT JOIN tabela b ON (a.nr = b.nr AND a.id > b.id)
  4. WHERE b.id IS NULL


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 16:52