Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> porównywanie dwóch kolumn w jednej tabeli
japolak
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Łódzkie

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


Witam
mam problem z określeniem tego czego chce:) Wiec pokaże co mam i co chciałbym uzyskać:

Powiedzmy ze mam taką tabelę:

id/id_parent
1/0
2/0
3/0
4/2
5/0
6/0
7/5


a oczekiwany wynik byłby:
id / id_parent
1/0
3/0
4/2
6/0
7/5

czyli z wyłączeniem tych id =0 dla których mamy zdefiniowany id dla którego id_parent = temu id

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. SELECT t1.id,t1.id_parent
  2. FROM tabela AS t1
  3. WHERE t1.id NOT IN (SELECT t2.id_parent FROM tabela AS t2)


  1. SELECT t1.id,t1.id_parent
  2. FROM tabela AS t1
  3. LEFT JOIN tabela AS t2 ON t2.id_parent=t1.id
  4. WHERE t2.id IS NULL

Go to the top of the page
+Quote Post
japolak
post
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Łódzkie

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


Cytat(trueblue @ 11.09.2016, 11:51:14 ) *
  1. SELECT t1.id,t1.id_parent
  2. FROM tabela AS t1
  3. WHERE t1.id NOT IN (SELECT t2.id_parent FROM tabela AS t2)


  1. SELECT t1.id,t1.id_parent
  2. FROM tabela AS t1
  3. LEFT JOIN tabela AS t2 ON t2.id_parent=t1.id
  4. WHERE t2.id IS NULL



dzięki wielkie - działają dwie opcje;)


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@



podniosłem sobie poprzeczkę i dodałem jeszcze dwie kolumny z datą i statusem cykl


zadanie moje jest takie
dane wejściowe :

id/id_parent/data/cykl
1/0/2016-09-22/Y
2/0/2016-09-22/Y
3/0/2016-09-22/Y
4/2/2016-09-22/N
5/0/2016-09-22/Y
6/2/2016-09-23/N
7/5/2016-09-23/N


a oczekiwany wynik dla dnia 2016-09-22 byłby:
id/id_parent/data/cykl
1/0/2016-09-22/Y
3/0/2016-09-22/Y
4/2/2016-09-22/N
5/0/2016-09-22/Y


czyli bez:
2/0/2016-09-22/Y
6/2/2016-09-23/N
7/5/2016-09-23/N


dla dnia 2016-09-23
id/id_parent/data/cykl
1/0/2016-09-22/Y
3/0/2016-09-22/Y
6/2/2016-09-23/N
7/5/2016-09-23/N

czyli bez:
2/0/2016-09-22/Y
4/2/2016-09-22/N
5/0/2016-09-22/Y


a dla dnia 2016-09-24
id/id_parent/data/cykl
1/0/2016-09-22/Y
2/0/2016-09-22/Y
3/0/2016-09-22/Y
5/0/2016-09-22/Y

czyli bez:
4/2/2016-09-22/N
6/2/2016-09-23/N
7/5/2016-09-23/N

Jak to rozgryźć (IMG:style_emoticons/default/questionmark.gif) :

Ten post edytował japolak 22.09.2016, 20:13:28
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: 24.08.2025 - 15:04