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%)
-----


dzięki za odpowiedź

interesuje mnie i odbiorca i nadawca

mając taką tabele

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


powinienem otrzymac:

tylko jeden rekord np.

1 | y | 0

gdzie y może być 3, 4 albo 5 a ile to będzie w wyniku to dla mnie nie ma znaczenia

chyba to trzeba pogrupować wg pierwszej i drugiej kolumny, uwzglednic flage i usunac duplikaty z kolumny pierwszej ?

Ten post edytował yalus 23.02.2016, 12:39:31
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: 28.12.2025 - 16:12