Autor Zpráva
luma64
Profil
Zdravim, ako sa pls urobi spravne insert v zavislosti na 2 selektoch. Ide vlastne kopiu zaznamov v tabulke.

Insert into table1 ( kod,znak,typ)
Select tbl2.kod from table2 tbl2 where tbl2.skratka='XXX' ,
Select tbl1.znak, tbl1.typ, tbl1.skratka from table1 tbl1 where tbl1.epiz= '999' and tbl1.skratka='INT'

Jedine co ziskavam z inej tabulky je hodnota pola kod z table2
Tori
Profil
Chcete vložit nový řádek a zkopírovat do něj část hodnot z jiného řádku (v té samé tabulce), anebo u existujícího řádku změnit jednu hodnotu podle jiné tabulky?
První je INSERT ... SELECT, druhé nejspíš UPDATE se spojením dvou tabulek.
luma64
Profil
Ano, moj pokus znamena vlozit do tej istej tabulky zaznam v zavislosti na vybere. Ale s tym ze jeden z vkladanych parametrov kopirovaneho zaznamu update vkladanej hodnota z inej tabulky.
Mam podobny prikaz na kopirovanie ale s tym rozdielom, ze robim len jeho kopiu a v inserte selekt "natvrdo" nastavim inu hodnotu jedneho z poli. Ziadna zavislost na inej tabulke.
Tori
Profil
Tak jen upravte ten select, aby četl data ze dvou tabulek:
SELECT t1.sloupec, t2.jinySloupec
FROM tabulka t1, jinaTabulka t2
WHERE t1.neco = 'neco' AND t2.id = 12345
LIMIT 1
Kajman
Profil
Kromě joinu jde použít i poddotaz.
INSERT INTO table1
            (kod,
             znak,
             typ)
SELECT (SELECT tbl2.kod
        FROM   table2 tbl2
        WHERE  tbl2.skratka = 'XXX'),
       tbl1.znak,
       tbl1.typ
FROM   table1 tbl1
WHERE  tbl1.epiz = '999'
       AND tbl1.skratka = 'INT'

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0