Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] SELECktowanie z 2 tabel na raz.
Forum PHP.pl > Forum > Przedszkole
Rogu¶
Witam. urywek mojego kodu to
  1. $wybierz = mysql_query("SELECT * FROM slowa WHERE login='$in' AND kategoria='$kategoria' ORDER BY RAND() LIMIT 1")


I chciałbym zeby oprócz losowania z tabeli slowa sprawdzało czy id wylosowanego słowa = 1 w tabeli test.

Co¶ na zwór
  1. $wybierz = mysql_query("SELECT * FROM slowa WHERE login='$in' AND kategoria='$kategoria' AND id FROM test WHERE id=0 ORDER BY RAND() LIMIT 1")


problem w tym ze nie wiem jak to zrobic a to mi nie chodzi
John
Jedno zapytanie może przeskakiwać między tabelami za pomoc±

  1. JOIN

Z tym,że musisz przechodzić na konkretnej danej.
Tabela1 - kontakt niech się składa z :
user
email

Tabela2 - kolory niech się składa z :
username
kolor

Przykład.
  1. SELECT * FROM kontakt JOIN kolory ON kontakt.user = kolory.username WHERE kontakt.user = '$user' AND kolory.kolor='$kolor' GROUP BY....


Możesz przeskakiwać między tabelami, ale musisz mieć jaki¶ punkt zachaczenia.

P.S. - przepraszam za durnowaty przykład ;-).
Rogu¶
Aha ok . Mniej wiecej rozumiem. Zobaczymy jutro jak to wyjdzie w praktyce smile.gif

Jak zrobić by wyswietlalo tylko te rekordy gdzie nie ma w tabeli test w slowo tego samego wyrazu co slowa w slowo? Próbowałem operatory <> oraz != i nie chodza :/
  1. $wybierz = mysql_query("SELECT * FROM slowa, test WHERE slowa.login='$in' AND slowa.kategoria='$kategoria' AND test.slowo != slowa.slowo ORDER BY RAND() LIMIT 1") OR die ("$wybierz");
John
Nie bardzo rozumiem o co Ci chodzi, wytłumacz inaczej najlepiej przykładem, bo tego zapytania też nie zrozumiałem.
Rogu¶
Chce dostać rekordy z tabeli slowa.slowo ale takie ktorych nie ma w test.slowa. chodzi mi tylko o ten kawałek kodu
  1. test.slowo != slowa.slowo
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.