Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Wyciagniecie unikatowego pola z bazy
Forum PHP.pl > Forum > Bazy danych
AndyPSV
  1. SELECT DISTINCT mail FROM biz_u,buzzpek_u,chcur_u,clubkr_u,cocain_u,comixxy_u,drug_u,investor_u,mha_u,power_u,redkr_u,xernt_u


nie dziala; tj

  1. SQL 1052 :: Column 'mail' in field list is ambiguous
nospor
Tranaslator google naprawde nie dziala?

Kolumna mail wystepuje w kilku tabelach. Mysql nie wie do ktorej kolumny MAIL sie odnosisz. Wypadaloby okreslic tabele,z ktorej chcesz brac te kolumne
mmmmmmm
Masz 11 niepowiązanych ze sobą tabel. Jeśli w pierwszej będziesz miał 1 rekord, w drugiej 2, itd do 11, to w wyniku baza będzie musiała analizować 39916800 rekordów. smile.gif
AndyPSV
MAIL jest kolumna, ktora jest we wszystkich tych tabelach

robilem "nazwa_tabeli.mail" jednak tez nie dzialalo

w jaki sposob to jakos "zrecznie" rozwiazac?
nospor
Cytat
robilem "nazwa_tabeli.mail" jednak tez nie dzialalo

Niemozliwe... robiac np:
SELECT DISTINCT biz_u.mail FROM biz_u,buzzpek_u,chcur_u,clubkr_u,cocain_u,comixxy_u,drug_u,investor_u,mha_u,powe
r_u,redkr_u,xernt_u
nie masz prawa dostac bledu z pierwszego posta.

Oczywiscie pozostaje kwestia tego co napisal mmmmmmmmm. Tabele naleze ze sobą wiązać.

z drugiej strony uzywasz distinct, wiec rozwiaze to problem petryliarda rekordow
Z trzeciej strony sprawdzasz tylko mail z jednej tabeli a ty pewnie chcesz sprawdzic mail ze wszytkich. Musisz uzyc UNION
AndyPSV
robilem:
  1. SELECT DISTINCT biz_u.mail,buzzpek_u.mail .... FROM biz_u,buzzpek_u,chcur_u,clubkr_u,cocain_u,comixxy_u,drug_u,investor_u,mha_u,powe
  2. r_u,redkr_u,xernt_u



ale to tez nie dzialalo

jak wrzucic wszystkie te tabele w jedna i rozwiazac ten problem?

najlepiej
nospor
Musisz uzyc UNION jak juz ci pisalem
AndyPSV
Zaczalem robic juz to, ale niedokonczylem

  1. (SELECT mail FROM biz_u)
  2. UNION ALL
  3. (SELECT mail FROM buzzpek_u)


tylko jak wyciagnac DISTINCT mail z tych tabel; znaczy sie - z calosci
nospor
Walisz bezmyslnie te posty jeden za drugim, zamist spokojnie zajrzec do dokumetnacji :/

http://dev.mysql.com/doc/refman/5.0/en/union.html
Cytat
The default behavior for UNION is that duplicate rows are removed from the result. The optional DISTINCT keyword has no effect other than the default because it also specifies duplicate-row removal. With the optional ALL keyword, duplicate-row removal does not occur and the result includes all matching rows from all the SELECT statements.

Tak trudbno?
AndyPSV
kaca mam i jest mi ciezko

  1. SELECT DISTINCT mail FROM (
  2. SELECT mail FROM biz_u
  3. UNION
  4. SELECT mail FROM buzzpek_u
  5. UNION
  6. SELECT mail FROM chcur_u
  7. UNION
  8. SELECT mail FROM clubkr_u
  9. UNION
  10. SELECT mail FROM cocain_u
  11. UNION
  12. SELECT mail FROM comixxy_u
  13. UNION
  14. SELECT mail FROM drug_u
  15. UNION
  16. SELECT mail FROM investor_u
  17. UNION
  18. SELECT mail FROM mha_u
  19. UNION
  20. SELECT mail FROM power_u
  21. UNION
  22. SELECT mail FROM redkr_u
  23. UNION
  24. SELECT mail FROM xernt_u
  25. )


dzieki, pomogles

proste
nospor
SELECT DISTINCT mail FROM ( Jest ci to nie potrzebne..... samo UNION usuwa duplikaty.... wyraznie jest to zaznaczone w tekscie, ktory ci zacytowalem
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.