ďťż
 
PHP, SQL - laczenie tabel - problem ďťż
 
PHP, SQL - laczenie tabel - problem
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

PHP, SQL - laczenie tabel - problem



Fresh - 13-11-2006 00:46
PHP, SQL - laczenie tabel - problem
  Witam,
Mam 3 tabele (produkt, producenci, typ) - (w tabeli produkt - producenci i
typ sa wiazani oporzez odnosnik do id z ich tabel). Chce zrobic wyszukiwanie
produktow ktore spelniaja kryterium dla producenta LUB typu.

Robiac tak:
SELECT p.* FROM produkt p, producent prod, typ t WHERE
(p.producent=prod.id_producent AND prod.producent='szukam') OR
(p.typ=t.id_typ AND t.typ='szukam')

Otrzymuje zdublowane rekordy. Dodajac GROUP po id_produktu lib DISTINCT
zapytanie wykonuje sie kilkadziesiat sekund :( Gdybym zamiast OR wstawil AND
dziala blyskawicznie, ale nie takie jest zamierzenie :) Czy ktos ma jakis
pomysl jak wyciagnac dane spelniajace werunech tylko ktorejs z tabel?

Dziekuje z gory,
Grzesiek.





- 13-11-2006 00:46

  Fresh <fresh@NOSPAMpoczta.gazeta.pl> napisał(a):

> Witam,
> Mam 3 tabele (produkt, producenci, typ) - (w tabeli produkt - producenci i
> typ sa wiazani oporzez odnosnik do id z ich tabel). Chce zrobic wyszukiwanie
> produktow ktore spelniaja kryterium dla producenta LUB typu.
>
> Robiac tak:
> SELECT p.* FROM produkt p, producent prod, typ t WHERE
> (p.producent=prod.id_producent AND prod.producent='szukam') OR
> (p.typ=t.id_typ AND t.typ='szukam')
>
> Otrzymuje zdublowane rekordy. Dodajac GROUP po id_produktu lib DISTINCT
> zapytanie wykonuje sie kilkadziesiat sekund :( Gdybym zamiast OR wstawil AND
> dziala blyskawicznie, ale nie takie jest zamierzenie :) Czy ktos ma jakis
> pomysl jak wyciagnac dane spelniajace werunech tylko ktorejs z tabel?
>
>
> Dziekuje z gory,
> Grzesiek.
>

--(Mam kiepski czas to pozwolę sobie napisać gotowca sorry)

( select p.*
from produkt p
inner join producent prod on p.porducent=prod.id_producent
where
prod.producent='szukam'
)union(
( select p.*
from produkt p
inner join typ t on p.typ=t.id_typ
where
t.typ='szukam'
)

--No i oczewiście załóż indexy na obce klucze i pole po któym wyszukujesz
--Będzie szybko robić.

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




Fresh - 13-11-2006 00:46

  Dzieki :)

Grzesiek.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?= Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?= =?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= =?ISO-8859-2?Q?k=B3opot_z_uruchomieniem_MY_SQL_dla_C?==?ISO-8859-2?Q?MS_i_CRM_na_Fedora_Core_3?= Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= =?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?= [Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?= =?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • misida.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com