Je reçois cette erreur
1241 - L'opérande doit contenir 1 colonne (s)
lorsque j'essaie de sélectionner ces deux tables et colonnes.
J'ai essayé de supprimer le () de la sélection, mais cela n'a pas fonctionné.
SELECT (SELECT (SUM(preco_base),0) FROM produtos) + (SELECT (SUM(salario_base),0) FROM salarios) FROM DUAL;
3 Réponses :
Que diriez-vous de
select a.sum_pb + b.sum_sb from (select sum(preco_base) sum_pb from produtos) a, (select sum(salario_base) sum_sb from salarios) b;
sum () contenant un seul opérande sum (acol) pas sum (col, 0)
Vous pouvez essayer d'utiliser une jointure croos
select a.sum_preco_base + b.sum_salario_base from ( SELECT SUM(preco_base) sum_preco_base FROM produtos ) a CROSS JOIN ( SELECT (SUM(salario_base) sum_salario_base FROM salarios ) b
Essayez ceci:
SELECT (COALESCE( (SELECT SUM(preco_base) FROM produtos), 0) + COALESCE( (SELECT SUM(salario_base) FROM salarios), 0) )
dual
n'est pas nécessaire et vous voulez COALESCE ()
après la sous-requête a été exécutée.
SUM ne prend qu'un seul argument; peut-être que ce dont vous avez besoin est plus comme
IFNULL (SUM (preco_base), 0)
Essayez ceci:
SELECT (SELECT SUM (preco_base) FROM produtos) + (SELECT SUM (salario_base) FROM salaire) FROM DUAL;
Merci, ça marche maintenant.