Nasze strony wykorzystują pliki cookies. Używamy cookies i podobnych m.in. w celach reklamowych i statystycznych oraz w celu dostosowania serwisów do potrzeb użytkowników. Mogą też stosować je nasi reklamodawcy, firmy badawcze oraz dostawcy aplikacji. W przeglądarce można zmienić ustawienia dotyczące cookies. Więcej informacji. Jeśli nie wyrażasz zgody, opuść tę stronę.

Niestandardowe zapytanie SQL

Forum dyskusyjne poświęcone zagadnieniom związanym z tworzeniem serwisów z wykorzystaniem zaawansowanych technologii takich jak PHP, Perl, mySQL, ASP, CGI, XML, itp.

Moderator: Grupa pościgowa ;-)

Niestandardowe zapytanie SQL

Postprzez Spider_men » 12 października 2005, o 09:16

Mój problem jest bardzo prosty do przedstawienia, a więc:

mam tabele:

atryb1 | atryb2
-------------------------
7 | czarny
6 | biały
7 | 120
6 | 130

Musze skonstruować zapytanie które w wyniku da mi takie coś:

atryb1 | atryb2a | atryb2b
-----------------------------------------
7 | czarny | 120
6 | biały | 130

Jak powinno wyglądać to zapytanie i czy to jest wogóle możliwe??


moderator: czy nie można napisać tytułu postu który COŚ mówi!? I krzyczenie POMOŻCIE!!! naprawde niczemu nie pomaga!
Ostatnio edytowano 12 października 2005, o 19:33 przez Spider_men, łącznie edytowano 1 raz
Spider_men
Zanim zapytam poszukam odpowiedzi
Zanim zapytam poszukam odpowiedzi
 
Posty: 2
Dołączył(a): 12 października 2005, o 09:06

jak powinno wyglądać zapytanie?

Postprzez angryant » 12 października 2005, o 16:52

a masz w tej tabeli coś, po czym można rozróżnić dane w atryb2? jeśli tak, to można napisać łamańca, który to zrobi w jednym zapytaniu.

Będzie to coś, co się nazywa self join. Lepiej jednak przemyśleć układ tabeli niż używać takich dziwnych zapytań. Nakreśl problem to pomyślimy jaka struktura danych będzie odpowiednia do jego rozwiązania.

--
pozdrawiam
piotr maj
angryant
Jeszcze się uczę
Jeszcze się uczę
 
Posty: 14
Dołączył(a): 8 września 2005, o 20:08

Postprzez Spider_men » 12 października 2005, o 19:39

Spider_men
Zanim zapytam poszukam odpowiedzi
Zanim zapytam poszukam odpowiedzi
 
Posty: 2
Dołączył(a): 12 października 2005, o 09:06

Postprzez angryant » 13 października 2005, o 10:18

w takim razie zostaje Ci tylko coś w stylu:

SELECT
s.at1, s.at2, t.at2, u.at2
FROM
search s, search t, search u
WHERE
s.at1=1
AND s.at2 LIKE 'b%'
AND t.at2 LIKE 'c%'
AND u.at2 = 2
LIMIT 1;

czyli aliasujesz tą samą tabelę wielokrotnie i wybierasz te wiersze, które spełniają jakieś kryterium. Brzydkie, pewnie niewydajne, ale możliwe ;-)
angryant
Jeszcze się uczę
Jeszcze się uczę
 
Posty: 14
Dołączył(a): 8 września 2005, o 20:08


Powrót do PHP, Perl, SQL, CGI, XML...

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników

cron