Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] wyszukiwanie danych w kilku tabelach
Apo
post 4.08.2008, 10:17:39
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam,

Mam 3 tabele: articles, pictures, video.
Chcialem stworzyc wyszukiwarke która wyszuka w w.w tabelach frazy znajdujace sie w polach titile i content za pomoca LIKE.
W zwracanym wyniku chcialem miec mozliwosc odroznienia ktory wynik pochodzi z danej tabeli.

Probowalem tego za pomoca UNIONow oraz zwyklego selecta ale nie daje razy. Tabele w zaden sposob nie sa powiazane relacjami.

Z góry wielkie dzieki za pomoc
Apo
Go to the top of the page
+Quote Post
phpion
post 4.08.2008, 10:23:11
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Spróbuj coś w tym stylu:
  1. SELECT 1, title, content FROM articles WHERE title LIKE '%x%' OR content LIKE '%x%'
  2. UNION
  3. SELECT 2, title, content FROM pictures WHERE title LIKE '%x%' OR content LIKE '%x%'
  4. UNION
  5. SELECT 3, title, content FROM video WHERE title LIKE '%x%' OR content LIKE '%x%';

Nie sprawdzałem ale spróbuj. Ewentualnie stwórz sobie widok łączący te 3 tabele i w nim przeszukuj. Na podstawie cyfr 1, 2, 3 zdiagnozujesz z jakiej tabeli pochodzi rekord.

Ten post edytował phpion 4.08.2008, 10:24:01
Go to the top of the page
+Quote Post
osiris
post 4.08.2008, 10:28:09
Post #3





Grupa: Zarejestrowani
Postów: 121
Pomógł: 15
Dołączył: 19.07.2007

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


  1. (SELECT 'tabela1' AS table_name, ...
  2. FROM tabela1 WHERE ...
  3. )
  4. UNION ALL
  5. (SELECT 'tabela2' AS table_name, ...
  6. FROM tabela2 WHERE ...
  7. )
  8. UNION ALL
  9. ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 16:04