Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] Jak wykonać zapytanie do bazy
mrjozo
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


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ć:/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mrjozo
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


Hm kod jest bardzo prosty (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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)


Ten post edytował mrjozo 6.07.2007, 11:41:17
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 - 06:09