Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pominięcie rekordów z zapytania GROUP by
yalus
post
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


Witam,

nie radzę sobie z pewnym problemem, może ktoś zasugerować rozwiązanie


tabela z wiadomościami:

---------------------------------
odbiorac | nadawca | flaga |
---------------------------------

w której znajdują się rekordy

1 | 2 | 0
1 | 2 | 0
1 | 2 | 0
5 | 6 | 0
5 | 6 | 0
5 | 6 | 0


zapytanie

select * from tabela group by odbiorca , nadawca

wynik będzie taki:

1 | 2 | 0
5 | 6 | 0


i tu sie zaczyna problem, jak skonstruować zapytanie tak aby w przypadku gdy np jeden z rekordów ma flagę ustawioną na 1 np


1 | 2 | 0
1 | 2 | 1
1 | 2 | 0
5 | 6 | 0
5 | 6 | 0
5 | 6 | 0

dał taki wynik:

5 | 6 | 0

czyli dalej pogrupować rekordy wg odbiorcy i nadawcy ale pominąć grupę rekordów jak wystąpi w niej chociaż raz flaga 1

jak powyzej, w tabeli znajdują się 3 rekordy 1 | 2 ale tylko jeden ma flage ustawioną na 1 i to ma spowodować że cała grupa rekordów 1 | 2 ma zostać pominięta w wyniku

czy da się to jakoś zrobić


z góry dzięki
pozdrawiam





Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yalus
post
Post #2





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


super ogromne dzięki

a jak by zmodyfikować to zapytanie aby wynik dał zawsze rekordy bez duplikatów odbiorcy

tabela zawiera takie rokordy:

1 | 2 | 0
1 | 2 | 1
1 | 2 | 0
5 | 6 | 0
5 | 6 | 0
5 | 6 | 0
1 | 3 | 0
1 | 3 | 0
1 | 4 | 0
1 | 4 | 0


i w wyniku nie chce miec tych grup które mają przynajmniej jedną flagę ustawioną na 1 ( tak jak podałeś w poprzedniej odpowiedzi) ale dodatkowo chciałbym w wyniku otrzymać rekordy bez duplikatów odbiorcy, coś takiego:


5 | 6 | 0
1 | 3 | 0
wynik nie uwzględnia rekordu 1 | 4 | 0 bo już jest jeden rekord z nadawcą 1

albo
5 | 6 | 0
1 | 4 | 0
wynik nie uwzględnia rekordu 1 | 3 | 0 bo już jest jeden rekord z nadawcą 1


i tak dalej bez znaczenia ile jest tych rekordów, wynik ma podawać tylko jeden rekord z nadawcą (bez duplikatów) ?


z góry dzięki

pozdrawiam


Go to the top of the page
+Quote Post

Posty w temacie


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: 30.12.2025 - 17:20