Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Jak wykonać zapytanie do bazy
Forum PHP.pl > Forum > Przedszkole
mrjozo
Witam,


ma w bazie tabele z poalmi:
a_id|b_id
1:2
1:3
1:65
1:23
2:34
2:3
2:8
2:65
3:7
9:67

Mam dane 2 a_id i chciałbym pobrać tylko te wiersze dla jednego a_id, dla których b_id jest takie samo jak dla drugiego a_d, czyli patrząc na powyższe dane dla a_id 1 i 2 pobieram tylko wiersze:
1:3
1:65

gdyż dla a_id = 2 istnieją wartośći 3 oraz 65. Jak wykonać takie zapytanie, bo jakoś nie moge nic wymyślić:/
pawel81
możesz pokazać kod sql tworzący bazę
mrjozo
Hm kod jest bardzo prosty smile.gif

  1. CREATE TABLE `tabela` (
  2. `a_id` MEDIUMINT( 8 ) NOT NULL ,
  3. `b_id` MEDIUMINT( 8 ) NOT NULL ,
  4. `t_id` MEDIUMINT( 8 ) NOT NULL AUTO_INCREMENT ,
  5. PRIMARY KEY ( `t_id` ) ,
  6. INDEX ( `a_id` , `b_id` )
  7. ) TYPE = MYISAM ;


Chyba troche mnie nie zrozumiałeś, nie chcę pobrać a_id ani też a_id=b_id

Do zapytania podaję 2 a_id np 1 (jedynke) i 2 (dwójke) i chcę pobrać b_id, które są wspólne dla tych dwóch a_id

  1. SELECT b_id FROM tabela WHERE a_id = 1 AND ..... //cos dalej zeby pobralo tylko wspolne i tylko raz


Zrobiłem takie coś i wydaje się że działa smile.gif

  1. SELECT b_id FROM tabela WHERE a_id = 1 AND b_id IN(SELECT b_id FROM tabela WHERE a_id = 2)
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.