Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> bez powtórzeń DISTINCT ON (u.id ) ,*, DISTINCT ON (u.id ) u.id,*
gregi
post 9.09.2015, 16:56:42
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 11.09.2003

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


jak wywietlić wszystkie pola lecz bez powtórzeń
bez gwiazdki działa poparawnie lecz mam 40 pól i niechcę ich wszystkich wpisywać dlatego gwiazdka

  1. SELECT DISTINCT ON (u.id ) u.id,* FROM uzytkownicy u LEFT JOIN uzytkownicy__xxx ujo ON u.id =ujo.id_uzytkownika WHERE ujo.id_jednostki IN ( 28,22,33,44 ) ORDER BY u.id , *
Go to the top of the page
+Quote Post
mmmmmmm
post 10.09.2015, 08:09:28
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Tak się nie da... Skopałeś sobie tabelę (ID NIGDY W ŻYCIU NIE POWINNO SIĘ POWTÓRZYĆ), to teraz musisz zrobić coś takiego:
1. Dodaj sobie do tej tabeli pole typu SERIAL NOT NULL (np. unikalne_id)
2. SELECT id, Min(unikalne_id) uid FROM uzytkownicy GROUP BY id /* albo Max(unikalne_id) */
3. Wg mnie LEFT JOIN jest zbędny (zwykły JOIN starczy)
4. Ta * przy ORDER BY również

A teraz pytanie...
Załóżmy że masz tabelę:
id imie nazwisko
1 Jan Kowalski
1 Anna Nowak
1 Piotr Wójcik
To która osoba z id=1 ma pozostać?
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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 22:40