1

Temat: Wyświetlenie wierszy z dwóch tabel w jednym selekcie

Witam

To mój pierwszy post i pytanie które dręczy mnie od dawna. Czy jest możliwość wyświetlenia wierszy z dwóch tabel w jedneym selekccie w taki sposób aby nie łączyć tych wierszy a jedynie aby wyświetliły się pod sobą.
Przykład (wszystkie dane typu tekstowego):

tabela1:
     |kolumna1|kolumna2
----------------------------------
1   |  dane1a | dane1b 
----------------------------------
2   |  dane1c |  dane1d

tabela2:
     |kolumna1|kolumna2
----------------------------------
1   |  dane2a | dane2b 
----------------------------------
2   |  dane2c |  dane2d


i teraz z selecta chcę uzyskać :

     |kolumna1|kolumna2
----------------------------------
1   |  dane1a | dane1b 
----------------------------------
2   |  dane1c |  dane1d
----------------------------------
3   |  dane2a | dane2b 
----------------------------------
4   |  dane2c |  dane2d

Problem który mam jest oczywiści poważniejszy, muszę to uzyskać za pomocą jednego select-a (wiem że da się to uzyskać za pomocą pomocniczej tabeli ale wtedy musiałbym użyć dodatkowych zapytań), będzie on służył do wyświetlania zestawienia w systemie ERP.

Ostatnio edytowany przez bendyz (2010-10-08 13:59:24)

2

Odp: Wyświetlenie wierszy z dwóch tabel w jednym selekcie

A może skorzystaj z UNION ALL

select kolumna1_t1,kolumna2_t1,kolumna3_t1 from tabela1
union all
select kolumna1_t2,kolumna2_t2,kolumna3_t2 from tabela2;

Tylko trzeba pamiętać że odpowiednie kolumny powinny być tego samego typu (lub powinny się na siebe łatwo rzutować).
No i nie wiem czym jest u ciebie pierwsza kolumna w wynikubo wyglada jak jakis licznik, więc najpierw będziesz musiał go sobie stworzyć

create sequence ...

a potem wywolac w selekcie

nextval('nazwa_licznika')

3

Odp: Wyświetlenie wierszy z dwóch tabel w jednym selekcie

select kolumna1_t1,kolumna2_t1,kolumna3_t1 from tabela1
union all
select kolumna1_t2,kolumna2_t2,kolumna3_t2 from tabela2;