[sql] inserimento con select multiple su postgress

di il
1 risposte

[sql] inserimento con select multiple su postgress

Vorrei fare una unica insert per inserire dei dati su una tabella che li seleziona da altre 3, ho scritto questa insert
Codice:

insert into foto(id_utente,id_bacheca,id_topic,data_pin,fonte,descrizione) values 
((select id from utente where email='maurizio.mascia@unito.it'),(select id from bacheca where titolo='mie foto'),(select id from topic where titolo='giardinaggio'),'22-06-2016','var/www/localhost/myserver/myphoto','campo di fiori in primavera');

postgress però mi dà questo errore:
ERRORE: più di una riga restituita da una sottoquery usata come espressione
********** Error **********

ERRORE: più di una riga restituita da una sottoquery usata come espressione
SQL state: 21000
cosa posso fare per fare eseguire la query correttamente? perchè mi dà errore se a livello sintattico,le tabelle sono tutte presenti e i vincoli non sono violati?

1 Risposte

  • Re: [sql] inserimento con select multiple su postgress

    L'errore è chiaro, quindi se una delle sottoquery restituisce più righe, allora non è come dici tu.
    Fossi in te indagherei in ogni sottoquery, e se hai conferma dei tuoi convincimenti, allora prova ad aggiungere TOP 1 in ogni sottoquery, così sei sicuro che restituisca una sola riga.

    Il formato della data, invece, mi lascia un po' perplesso...
    Dovrebbe essere '06/22/2016', ma potrei anche sbagliare perché non conosco le tue impostazioni internazionali...
Devi accedere o registrarti per scrivere nel forum
1 risposte