Podwojenie rekordu DISTINCT

0

Tabela wyjsciowa:
Id:
100
100
100
200
300
300

Potrzebuje utworzyc tabele wynikowa, w ktorej w pierwszym wierszu bedzie raz znak 'rb' a raz 'mb' naprzemiennie a w drugiej nr id z tabeli wyjsciowej:

Tabela docelowa:
rb | 100
mb | 100
rb | 200
mb |200
rb | 300
mb |300

Czy da sie cos takiego zrobic?

Widzialbym cos takiego SELECT IF (warunek parzysty rekord = mb jesli nie =rb), DISTINCT Id FROM Tabela
ale widze, ze zapytanie nie dziala juz w ukladzie SELECT 'cokolwiek', DISTINCT Id FROM Tabela...

0
SELECT napis, * FROM tabela, (SELECT 'rb' napis UNION SELECT 'rm')x ORDER BY tabela.id

Niech to ci będzie natchnieniem

0

Rzeczywiscie - po odpowiednim przeksztalceniu do mojego problemu dziala - tak jak tego oczekiwalem. Nie wiem tylko co oznacza x po zamknieciu nawiasu? Bez niego nie dziala zapytanie a ja nie wiem co to jest. Moge prosic o krotka wskazowke?

0

Podzapytanie musi mieć nazwę (alias). Działa tak samo jak AS X.

0

alias dla nazwy tabeli; tutaj nazwa tabeli nie istnieje, więc aby się do niej odwołać musi być zdefiniowany alias do niej.

0

OK - dziekuje wszystkim za pomoc.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.