Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> UNION czy JOIN?, czy UNION zadziała?
mario
post
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

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


Witam!!!!!

Mam dosyc spora tabele wykonawcy a w niej kilkadziesiat tysiecy rekordow. Na stronie wykonuje "petelke" z alfabetem ktora powoduje obciazenie bazy, chcialem to samo zrobic jednym zapytaniem polaczonym UNION'em ale nici..... pomimo aliasow w wyniku mam tylko pierwsze zapytanie. Oto czesc kodu przykladowo:

  1. SELECT id AS id_a, nazwa AS nazwa_a FROM wykonawcy WHERE nazwa LIKE 'A%' LIMIT 1
  2. UNION ALL
  3. SELECT id AS id_b, nazwa AS nazwa_b FROM wykonawcy WHERE nazwa LIKE 'B%' LIMIT 1


czy jest na to jakis sposob? czy musze rozdzielic jedna tabele na wiele tabel czyli np. wykonawcy_a, wykonawcy_b .... itd.?

EDIT: Udalo sie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Musialem otworzyc oczy i poczytac manual'a. Okazalo sie ze zrobilem szkolny blad czyli nie zastosowalem nawiasow w zapytaniach. Ponizej prawidlowe zapytanie ktore zwraca ladnie tablice:

  1. (SELECT id, nazwa FROM wykonawcy WHERE nazwa LIKE 'A%' LIMIT 1 )
  2. UNION ALL
  3. (SELECT id, nazwa FROM wykonawcy WHERE nazwa LIKE 'B%' LIMIT 1 )


Ten post edytował mario 27.12.2008, 12:24:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
phpion
post
Post #2





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




Rozumiem, że chcesz wyświetlić po 1 wykonawcy na każdą literkę. Jeżeli tak to spróbuj w ten sposób:
  1. SELECT id, nazwa, LEFT(nazwa, 1) AS literka FROM wykonawcy GROUP BY LEFT(nazwa, 1) ORDER BY nazwa ASC
Go to the top of the page
+Quote Post
mario
post
Post #3





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

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


@phpion: rewelacja (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Nie wiedzialem ze mozna to zrobic w jednym prostym zapytaniu.... musze poswiecic czas na czytanie manual'a. Dziekuje o to chodzilo, jest to czesc zapytania ktore pisze wiec pomogles mi w 100%, reszte juz sobie dopisze. Jeszcze raz wielkie dzieki!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 19:26