Switch to full style
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.
Odpowiedz

Niestandardowe zapytanie SQL

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

jak powinno wyglądać zapytanie?

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

12 października 2005, o 19:39

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 ;-)
Odpowiedz