Strona 1 z 1

Niestandardowe zapytanie SQL

PostNapisane: 12 października 2005, o 09:16
przez Spider_men
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!

jak powinno wyglądać zapytanie?

PostNapisane: 12 października 2005, o 16:52
przez angryant
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

PostNapisane: 12 października 2005, o 19:39
przez Spider_men

PostNapisane: 13 października 2005, o 10:18
przez angryant
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 ;-)