swist666
20.03.2014, 18:17:48
Dzień dobry,
Mam 2 tabele o identycznej strukturze (id,text,start_date,end_date) ale zawierają różne dane. Czy jest opcja żeby jednym selectem wylistować jedną pod drugą?
Przykład:
tabela_a
1:"text 1":"2014-03-21 12:30:00","2014-03-21 12:40:00"
2:"text 2":"2014-03-22 12:30:00","2014-03-22 12:40:00"
tabela_b
1:"text3":"2014-03-23 12:30:00","2014-03-23 12:40:00"
Zapytanie sql (jego właśnie szukam). Rezultat:
1:"text 1":"2014-03-21 12:30:00","2014-03-21 12:40:00"
2:"text 2":"2014-03-22 12:30:00","2014-03-22 12:40:00"
1:"text3":"2014-03-23 12:30:00","2014-03-23 12:40:00"
Dodam że nie chodzi tu o join (nie chcę dodać jeżeli się zgadzają jakieś warunki. Po prostu jedna pod drugą jak leci)
redeemer
20.03.2014, 18:42:58
http://dev.mysql.com/doc/refman/5.5/en/union.htmlPolecam jednak zmienić strukturę bazy i trzymać dane w jednej tabeli (ew. dodać jeszcze dodatkową kolumnę rozróżniającą).
swist666
20.03.2014, 18:52:24
Ok, dzięki za szybką odpowiedź. A jeżeli jedna tabela ma jedno dodatkowe pole (np. "komentarz") a druga nie ma czy jest opcja żeby to jakoś wyciągnąć?
Np. rezultat tego typu
1:"text 1":"2014-03-21 12:30:00","2014-03-21 12:40:00", "komentarz"
2:"text 2":"2014-03-22 12:30:00","2014-03-22 12:40:00", "komentarz"
1:"text3":"2014-03-23 12:30:00","2014-03-23 12:40:00", NULL
NULL - bo nie ma takiego pola
Wiem że to nie jest idealne rozwiązanie ale potrzebuje coś takiego zrobić na istniejącej bazie.
redeemer
20.03.2014, 18:57:50
SELECT * FROM tabelaA UNION SELECT *,NULL FROM tabelaB
swist666
20.03.2014, 19:26:53
Ostatnia sprawa

A jak jest takich tabel parę więcej?
SELECT *,NULL FROM a UNION SELECT *,NULL FROM b UNION SELECT *,NULL FROM c
zwraca błąd: The used SELECT statements have a different number of columns
trueblue
20.03.2014, 19:59:22
Masz wyraźnie napisane, że zapytania zwracają inną liczbę kolumn.
Musisz dopasować liczbę kolumn we wszystkich zapytaniach, adekwatnie do przykładu, który podał redeemer.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.