zapytanie podstawy - prośba o pomoc

0

chciałbym wyświetlić w tabeli cztery kolumny z trzech tabel gdzie dwie kolumny należą do tej samej tabeli.
Gdy piszę tak:
Select c.mydła ,c. proszki , n.soki , m.krzesla
FROM chemia c , napoje n , meble m

w wyniku otrzymuję złączenie i jakieś dziwne zestawienie (bo robi się złączenie) a zależy mi żeby wyciągnąć cztery kolumny jednym zapytaniem, bo tak będzie wydajniej niż tak jak umiem zrobić cztery zapytania po kolei. (SELECT mydła from chemia; etc)

w odpowiedzi może także być link gdzie pokazane jest jak to zrobić - ja oczywiście nie potrafiłem znaleźć, być może to jest tak proste, że nikt nie zadał sobie trudu, by to wyjaśnić. Dziękuję za pomoc.

0

Ale czy te tabele są jakoś powiązane? Jeśli nie, to nie bardzo możesz tak robić. Baza musi wiedzieć które rekordy którym przyporządkować!

0

nie są powiązane i tak naprawdę o ile to coś zmieni to zależy mi na wyświetleniu jednego rekordu np. OSTANIO dodanego mydła , proszku czy krzesła w wybranym miesiącu

0

hmm jak na mój gust to te tabele się nie wiążą, co najwyżej chemia z napojami :D
co to są: c.mydła ,c. proszki , n.soki , m.krzesla
tak, wiem, że to kolumny, ale jakie są w nich dane, jakiś przykład danych możesz podać
i czemu chcesz to zrobić w jednym select? czy chcesz to zrobić w jednym połączeniu z bazą, żeby później skonsumować wynik w jakiejś aplikacji? - bo to różnica

musisz podać strukture tych tabel, albo przykładowe dane, my z fusów nie wróżymy

0

Chyba na 3 UNION możesz to zrobić. Coś -= w tym stylu:
SELECT 'mydlo' As rodzaj, c.mydlo As pole FROM chemia ORDER BY data DESC LIMIT 1
UNION
SELECT 'proszek', c.proszek FROM cheemia ORDER BY data DESC LIMIT 1
UNION ...

Oczywiście nie podałeś bazy, więc zastosowałem składnię dla MySQL (bo mi tak wygodniej). Dla innych baz może byc inaczej - np. TOP 1

0

ale UNION łączy w ten sposób, że z każdym "unionen" dodaje wiersz a mi chodzi o coś analogicznego dołączające kolumny

ps. używam postgreSQL

0

Najpierw powiedz co byś chciał mieć w wyniku takiego zapytania?
Jak ma wyglądać przykładowy wynik?

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