Autor Zpráva
David_
Profil *
Ahoj, poradíte mi prosím někdo, kde mám v tom dotazu chybu? Jednotlivě selecty i inserty fungují, ale dohromady ne...

$dotaz = "IF((SELECT COUNT(*) AS pocet FROM jos_product WHERE kod_zbozi = '".$kod_zbozi."') = 0, , INSERT INTO jos_vm_product_parametry ( parametr_publish, nazev, hodnota, kod_zbozi, poradi, editovano ) VALUES ( 1, IF((SELECT COUNT(*) AS pocet FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."') = 0,'".$kod_parametru."' , (SELECT nazev FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."')) , '".$hodnota."', (SELECT product_id FROM jos_vm_product WHERE kod_zbozi = '".$kod_zbozi."' ), 99, 'ne' ));";

nechal jsem to radši i s uložením dotazu do proměnné. Díky za rady
Kajman_
Profil *
Takhle s if to asi nepůjde... ale můžete použít např. kontrukci
insert into select data

Nebo to jednoduše udělat před dva dotazy.
David_
Profil *
no ja prave nevim, ale ta podminka ve VALUES mi funguje:

IF((SELECT COUNT(*) AS pocet FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."') = 0,'".$kod_parametru."' , (SELECT nazev FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."'))
Kajman_
Profil *
To jo... tam to vrací jenom hodnotu... nerozlišuje akci, kterou chcete s db dělat.

Zkuste něco jako..

INSERT INTO jos_vm_product_parametry ( parametr_publish, nazev, hodnota, kod_zbozi, poradi, editovano )
select 
 1, IF((SELECT COUNT(*) AS pocet FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."') = 0,'".$kod_parametru."' , (SELECT nazev FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."')) , '".$hodnota."', (SELECT product_id FROM jos_vm_product WHERE kod_zbozi = '".$kod_zbozi."' ), 99, 'ne' )
where (SELECT COUNT(*) AS pocet FROM jos_product WHERE kod_zbozi = '".$kod_zbozi."')>0

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: