[MSSQL][MySQL][SQL]Wyszukiwarka na kilku tabelach |
[MSSQL][MySQL][SQL]Wyszukiwarka na kilku tabelach |
29.09.2016, 18:05:04
Post
#1
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) |
Mam wyszukiwarke wpisuje haslo $name. I teraz chce szukac w dwoch tabelach jednoczesnie(tabele nie sa powiazane). Jednakże zapytanie w tej formie nie spełnia oczekiwań. Proowalem tez na zasadzie SELECT or SELECT lecz to tez nie dziala, czy sie tak da? i w jakis sposob, prosil bym o przyklad. |
|
|
29.09.2016, 21:32:19
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) |
UNION?
-------------------- |
|
|
30.09.2016, 10:10:32
Post
#3
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) |
Tak tez niby sporobowalem, lecz:
Tylko przy wyswietlani wszystko jest charakteryzowane jako tabela A a jak zaznaczyc ze mamy do czynienia z tabela A i B i wyszukany rekord to np B_title a nie A_name
|
|
|
30.09.2016, 10:34:26
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 366 Pomógł: 1115 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Dopisz sobie np. SELECT "tabela_a" AS type....
-------------------- |
|
|
30.09.2016, 11:20:16
Post
#5
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) |
nie bardzo rozumiem, co mam osiagnac w ten sposob?
|
|
|
30.09.2016, 13:22:48
Post
#6
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) |
Dodatkowo proponuję korzystanie z prepared statement, dobry nawyk.
Ten post edytował Puszy 30.09.2016, 13:32:32 |
|
|
30.09.2016, 15:18:42
Post
#7
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) |
tak tylko feachujac to zeby zwrocic wynik musze korzystac z pola A_name
na zasadzie: (row[A_name]) A_name | type jakis tekst111 |A jakis tekst22 | B czy drugi tekst nie powinien byc pobrany (row[B_name]) Z tym mam klopot? Czy zostawic to w tej postaci bo inaczej sie nie da? A i takie pytanko co oznacza to 'res' w poprzednim zapytaniu? |
|
|
30.09.2016, 15:20:31
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 468 Pomógł: 6300 Dołączył: 27.12.2004 |
Cytat A i takie pytanko co oznacza to 'res' w poprzednim zapytaniu? To jest alias dla calego zapytania ktore jest w nawiasie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
30.09.2016, 15:32:25
Post
#9
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) |
Nie jest możliwe żeby jedna kolumna miała dwie różne nazwy (nic mi bynajmniej o tym nie wiadomo i wydaje się to dość nielogiczne) dlatego też masz rozróżnienie tabel w kolumnie table_id. Nie wiem co konkretnie chcesz z tym dalej zrobić ale możesz przecież wynik zwrócić do klasy. Uzywając np PDO wynik mapujesz do klasy a tam ustawiasz gettera przykład niżej, dzięki zmapowaniu do klasy łatwiej się pracuje możesz wrzucić tam jakie tylko zechcesz funkcji a dane pobierasz tylko raz.
res to alias dla całego wyniku, dzięki temu możesz później dodać warunki i grupowanie z całego wyniku union czy też dorzucić join
$result będzie zawierało tablicę obiektów Wynik, jeżeli potrzebujesz bardziej szczegółowej pomocy musisz rozwinąć problem. Z kolei $myResult będzie zawierało tablicę której potrzebujesz, z odpowiednimi kluczami. Ten post edytował Puszy 30.09.2016, 15:40:45 |
|
|
30.09.2016, 16:10:56
Post
#10
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 0 Dołączył: 11.09.2015 Ostrzeżenie: (0%) |
Majac takie zapytanie(lub cos w tym stylu), istotne bylo by to bylo jedno zapytanie. Bo na kilku juz dalem rade to zrobic. Dobrac sie do np:
da sie to zrobic w jednym zapytaniu? |
|
|
Wersja Lo-Fi | Aktualny czas: 24.05.2024 - 00:26 |