Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] różnica tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
test30
witam,
w jaki sposob moge otrzymac matematyczna roznice zbiorow,
niech tabela A zawiera:
Kod
winamp
     winrar
     gadu-gadu
     mozilla

, a tabela B:
Kod
winamp
     notatnik
     gadu-gadu

chcialbym aby w wyniku polecenia podaj_roznice_tabel(A,B) zostaly zwrocone wyniki
Kod
winrar
     mozilla
, a dla polecenia podaj_roznice_tabel(B,A)
Kod
notatnik
.
nie chcialbym tego mieszac z php; mam na mysli to, ze chcialbym uniknac takiego rozwiazania ze:
pobieram dane z tabel -> tworze tablice w php,
otrzymuje roznice tabel dzieki np. poleceniu array_diff;
chcialbym tego uniknac, poniewaz bazy beda zawieraly wiele, jesli nie bardzo wiele tabel i jak juz mialem okazje to przetestowac, trwa to dluga chwilke ;/
sticker
  1. SELECT * FROM a WHERE a.id NOT IN (SELECT b.id FROM b WHERE ....)
test30
mam baze danych:
  1. CREATE TABLE `a` (
  2. `id` varchar(40) NOT NULL DEFAULT ''
  3. ) TYPE=MyISAM;
  4.  
  5. INSERT INTO `a` VALUES ('wartosc1');
  6. INSERT INTO `a` VALUES ('inna');
  7. INSERT INTO `a` VALUES ('zgodna');
  8.  
  9.  
  10. CREATE TABLE `b` (
  11. `id` varchar(40) NOT NULL DEFAULT ''
  12. ) TYPE=MyISAM;
  13.  
  14. INSERT INTO `b` VALUES ('zgodna');
  15. INSERT INTO `b` VALUES ('wardwa');

i uzywam polecenia
  1. SELECT * FROM a WHERE a.id NOT IN (SELECT a.id FROM B) ;

i wystepuje blad;
kitol
powinno być:

  1. SELECT * FROM a WHERE a.id NOT IN (SELECT B.id FROM B );
test30
probowalem kombinacje a i b,

Kod
1064: Something is wrong in your syntax obok 'select b.id from B) ' w linii 1

moglby mi ktos powiedziec co oznacza to .id?
heaven
Dziwne bo ja utworzylem tabele takie jak podales i polecenie

  1. SELECT * FROM a WHERE a.id NOT IN (SELECT b.id FROM b );


podaje poprawny wynik i nie ma mowy o bledzie

w druga strone bedzie tak

  1. SELECT * FROM b WHERE b.id NOT IN (SELECT a.id FROM a);


Ps. id to nazwa jedynej kolumny w twoich tabelach
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.