Data ze dvou tabulek   otázka

SQL, Databáze

Zdravím,

chtěl jsem někde najít, jak "vyselectovat" ze dvou stejných tabulek naplněných jinými daty jednu novou tabulku, ale bez výsledků. Lépe řečeno: Mám Tab1 a Tab2, obě mají stejné sloupce. Jak lze udělat SELECT, který by vytáhnul z obou tabulek data (řádky) do výsledné tabulky? Dejme tomu, že vybírám všechny sloupce - tedy "SELECT *" . Díky za nápovědu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Proboha takové základy!

SELECT * FROM Tab1, Tab2

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Tohle udělá kartézský součin, předpikládám, že tazatel chce spíš UNION.

SELECT * FROM Tab1
UNION
SELECT * FROM TAb2

UNION ovšem vyhodí záznamy, které jsou stejné, chová se jako sjednocení množin. Pokud tohle nechcete, dejte UNION ALL.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Perfektní! To je přesně to, co jsem hledal. Jedno jediné slovo. UNION. A dokonce UNION ALL udělá ještě lepší výsledek. Díky moc za pomoc. Hezký den.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vážený pane Linharte,

vy se hned rozčilujete, vždyť z toho budete mít nervy nadranc. Vaše odpověď je přitom přesně to, co jsem zkoušel a co je špatně. No, co se dá dělat... I tak díky za snahu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já se vůbec nerozčiluju, jak mám asi vědět co jste zkoušel a co přesně potřebujete?!

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Super, tak to jsem rád. I když jsem se snažil svůj problém popsat dosti precizně, asi to stále nebylo dosti.

A když už vás tu zatěžuju svými problémy, pak se ještě zeptám na jednu věc, se kterou se potýkám. V jedné z dříve diskutovaných tabulek je sloupec (decimal(12,5)) ve kterém jsou i hodnoty 1.00000 a 0.00000, čili jednička a nula. Je možné nějak SQL donutit, aby překódoval jedničky na ANO (popř. 0.00000 = 'NE')? Dejme tomu, že budu z toho sloupce vybírat selectem pouze hodnoty nula a jedna, ale ve výsledné tabulce je chci vidět jako ANO a NE. Zkoušel jsem použít CONVERT, ale to asi není ten správný příkaz, nebo jsem ho špatně použil.

Děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Na toto byste dle mého měl a musel použít case statement,což je řekněme "složitější" vzhledem k Vašim znalostem - neberte to,prosím,jako urážku,ale konstatování.Každý jednou začínal a postupně se učil.

Nicméně je možné,že někdo ze zkušenějších zná a doporučí jiný způsob.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

případně to zkuste nějak oIFovat, pokud tam nemáte mnoho záznamů...

nahlásit spamnahlásit spam -2 / 2 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback