Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównanie dwóch tabel
Szymon80
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 6.06.2009

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


Witam.

Pewnie to bardzo proste ale nie wychodzi mi za bardzo porównanie zawartości dwóch kolumn w osobnych tabelach i wyciągnięcie powtarzających się rekordów.
Zapytanie jest takie:
  1. $powkod = mysql_query("select * from ".$prefix."kodysms ks, ".$prefix."kodypre kp where ks.kodsms=kp.kodpre ");


Jak teraz wyciągnąć z tego "id" z każdej tabeli ( będą różne w każdej tabeli), oraz powtarzający się kod ?
A także jak zrobić zapytanie "delete", aby usuwało powtarzający się kod z tabeli "...kodpre" ?

Próbowałem przez funkcję wyciągnąć chociaż kod ale nic t nie dało.

  1. if($powkod ==TRUE) { echo $powkod;}


Powtarzający się kod jest na pewno bo sam go tam umieściłem.

Ten post edytował Szymon80 11.01.2010, 05:11:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Zapoznaj się z zasadą działania funkcji mysql_query(), bo wnioskując z pokazanego kodu, nie rozumiesz jej dobrze. Funkcja ta nie zwraca wyniku, lecz identyfikator zbioru wyników, przy pomocy którego inne funkcje mogą pobrać dane.

Pokazane zapytanie zwróci Ci iloczyn kartezjański tych wierszy z obu tabel, które mają równe wartości obu pól. Jeśli w obu masz kolumnę "id", to musisz nadać jej w zapytaniu alias, aby ją rozróżnić. Możesz ten wynik przerobić i po prostu nakazać zapytaniem DELETE usunięcie wszystkich tych wierszy, które Ci nie odpowiadają, podając ich ID.

I wytłumacz, co według Ciebie ma robić ten kod:

  1. if($powkod ==TRUE) { echo $powkod;}


Ten post edytował Zyx 11.01.2010, 08:43:00
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: 9.10.2025 - 17:31