[mysql] Zapytanie

0

Mam 2 tabele.

  1. Zawiera informacje o abonencie pola: (id, idk, nazwisko, imie , adres)
    gdzie idk to id kupca
  2. Zawiera inforacje o kupcach czyli (id,idk,nazwa firmy,adres,telefon,fax)

Od razu wiadomo ze abonent o danym idk pracuje w odpowidniej firmie z tabeli drugiej.
Z tego mam zrobic kasiazke telefoniczna ktora sortuje dane wg nazwiska z tab 1 oraz nazwy firmy z tab 2. Tzn mam terminarz z zakladkami poszczegolnych liter i select. Jezeli w selecie wbyiore nazwisko problem jest prosty:

select * from tab1 where UPPER(nazwisko) LIKE $litera% ORDER BY nazwisko

Klikan na pole z litera u i sprawdza mi w tab1 wszystkie wpisy gdzie nazwiska zaczynaja sie na ta litere. Gra muzyka. Ale teraz chce to zrobic wg firmy , ktora jest w tabeli 2 i tu wg mnie jest wiekszy problem.
Nie wiem czy za pomoca jednego zpaytania jestem w stanie to zrobic.

Po pierwsze musze miec wszyskie IDK z tab 1 , dla tych IDK <ort>znaleŹĆ </ort>nazwy firm z tabeli 2-ej zaczynajace sie od danej litery i wyswietlic rekordy ale tylko te ktore sa w tab 1-ej bo tab 2 przechowuje wszystkie firmy jakie sa w danej bazie .
troszke to zawiazane.....

// nie rób tylu literówek, bo Ci nawstawiam orty - ŁF

0

heh troszke zamieszlaes stary i nie chce mi sie rozplatywac Twojego toku myslowego; poszukaj sobie w jakims manualu z sql o podzapytaniach oraz operatorze UNIOM, moze to cos Ci ort!; korzystajac z podzapytan mozesz zrobic taki motyw aby uzaleznic zapytanie nr1 od danych z zapytanai nr 2... no nie bede mieszal - poczytaj troszke :P

// jeśli już, to UNION, nie uniom - ŁF

0

heh troszke zamieszlaes stary i nie chce mi sie rozplatywac Twojego toku myslowego; poszukaj sobie w jakims manualu z sql o podzapytaniach oraz operatorze UNIOM, moze to cos Ci pomorze; korzystajac z podzapytan mozesz zrobic taki motyw aby uzaleznic zapytanie nr1 od danych z zapytanai nr 2... no nie bede mieszal - poczytaj troszke :P

Tylko ze Mysql nie obsluguje podzapytan jezeli juz to tylko replace...select i alter...select z tego co wiem i jest kapowato

0

Słyszałeś o relacyjnych bazach danych? Jeśli nie, to wklep sobie takie hasło w googla i poczytaj trochę teorii. Tymczasem

SELECT t1.* FROM tab1 t1, tab2 t2
WHERE t1.id = t2.id AND UPPER(t2.nazwa_firmy) LIKE '$litera%'
ORDER BY t2.nazwa_firmy

Zakładam, że id w jednej tabeli odpowiada temu w drugiej.
Swoją drogą - po co nadmiarowe pola w bazie danych? Dwa pola idk...

Tylko ze Mysql nie obsluguje podzapytan jezeli juz to tylko replace...select i alter...select z tego co wiem i jest kapowato

Wszystko da się załatwić bez podzapytań, czasami tylko trochę dłużej i mniej wydajnie. Poza tym od czego php?

1 użytkowników online, w tym zalogowanych: 0, gości: 1