Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> unikalne dane z 2 pol
veyron
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 2.04.2006

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


witam
jak pobrac dane z 2 pol, ale tak zeby w wyniku otrzymac dane unikalne ? wyjasnie na przykladzie o co mi chodzi:
tabela ma pola (miedzy innymi): waluta_kupna, waluta_sprzedazy. wartosciami kazdego z nich sa np. pln, eur, usd itd.
i teraz mam nastepujacy przypadek wartosci rekordow:

waluta_kupna, waluta_sprzedazy
eur, pln
eur, usd
pln, pln
pln, chf
eur, eur

w wyniku zapytania chcialbym otrzymac spis wszystkich walut, czyli eur, usd, pln, chf. jak powinno wygladac zapytanie ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bpskiba
post
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


dobrze, że dyskutujesz, bo musiałbym kłucić się dalej sam, ze sobą (IMG:style_emoticons/default/smile.gif)


  1. CREATE TABLE `tabela` (
  2. `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `waluta_kupna` varchar(6) DEFAULT NULL,
  4. `waluta_sprzedazy` varchar(6) DEFAULT NULL,
  5. PRIMARY KEY (`id`)
  6. );
  7. INSERT INTO `tabela`(`waluta_kupna`,`waluta_sprzedazy`) VALUES ('eur','pln'),('eur','usd'),('pln','eur');
  8.  
  9. SELECT waluta_sprzedazy FROM tabela
  10. UNION
  11. SELECT waluta_kupna FROM tabela


Wynik: pln, usd,eur
czyli taki sam jak w poprzednich zapytaniach (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
veyron
post
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 2.04.2006

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


Cytat(bpskiba @ 6.09.2012, 10:54:51 ) *
dobrze, że dyskutujesz, bo musiałbym kłucić się dalej sam, ze sobą (IMG:style_emoticons/default/smile.gif)


  1. CREATE TABLE `tabela` (
  2. `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `waluta_kupna` varchar(6) DEFAULT NULL,
  4. `waluta_sprzedazy` varchar(6) DEFAULT NULL,
  5. PRIMARY KEY (`id`)
  6. );
  7. INSERT INTO `tabela`(`waluta_kupna`,`waluta_sprzedazy`) VALUES ('eur','pln'),('eur','usd'),('pln','eur');
  8.  
  9. SELECT waluta_sprzedazy FROM tabela
  10. UNION
  11. SELECT waluta_kupna FROM tabela


Wynik: pln, usd,eur
czyli taki sam jak w poprzednich zapytaniach (IMG:style_emoticons/default/smile.gif)

no dobra masz racje,
ale w takim razie jest dziwna rzecz, bo testowalem to na troche innej tabeli, ktora ma jeszcze inne pola niz waluta_kupna i waluta_sprzedazy i troche wiecej danych, testowalem to w phpmyadmin w zakladce sql i tam w wyniku tego zapytania dostawalem tylko eur i pln (a powinno byc eur,pln,czk), ale jak to teraz przetestowalem po prostu przez php to w wyniku dostaje eur, pln, i czk.
powodem jest chyba to, ze phpmyadmin dodaje automatycznie do zapytania LIMIT 0,30 i w przypadku tego zapytania nie wyswietla wszystkich wynikow i w dodatku nie dzieli tez na podstrony, natomiast w przypadku zapytania w twoim pierwszym poscie wszystko wyswietlal ok. swoja droga to pokazuje, zeby lepiej testowac przez skrypt ph, a nie phpmyadmin.
gdybys chcial to sobie przetestowac to ponizej umieszczam dane, zaimportuj do czystej tabeli i zobacz roznice w tych zapytaniach:

  1. SELECT waluta_sprzedazy
  2. FROM tabela
  3. UNION
  4. SELECT waluta_kupna
  5. FROM tabela
  6. LIMIT 0 , 30


  1. SELECT *
  2. FROM (
  3. SELECT waluta_sprzedazy
  4. FROM tabela
  5. UNION
  6. SELECT waluta_kupna
  7. FROM tabela
  8. ) AS www
  9. LIMIT 0 , 30


  1. INSERT INTO `tabela` (`id`, `waluta_kupna`, `waluta_sprzedazy`) VALUES (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'eur', 'eur'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'pln', 'pln'), (NULL, 'czk', 'pln'), (NULL, 'czk', 'eur') ;

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: 6.10.2025 - 17:27