Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    SQL SERVER Help me please!

    Ciao a tutti,
    purtroppo sono ancora novellino su SQL ed ho il seguente problema che non riesco a risolvere:

    ho una TABELLA1 dove ho 2 colonne di interi:
    k1 | k2
    ad una k2 possono corrispondere più k1

    ho un'altra TABELLA2 composta da 15 colonne chiave ed 1 colonna value,
    CH1 | CH2 | CH3 |............|VALUE

    le k1 e k2 della TABELLA1 corrispondono a record di CH1 della TABELLA2 e sono dei codici univoci

    devo leggere la k1 della TABELLA1 e fare l'update del campo value per la k2 sulla TABELLA2,
    dato che ad una k2 possono corrispondere più k1, il value deve essere aggregato mediante somma in quel caso.

    Questa è la query che avevo preparato ma non funge:

    UPDATE TABELLA2 SET VALUE=
    (SELECT SUM(VALUE) FROM TABELLA2
    where CH1=(SELECT K1 FROM TABELLA1)
    WHERE CH1=K2
    GROUP BY CH1,CH2,....CH15)

    Mi potete dare una mano???
    Grazie in anticipo.

  2. #2
    dici che la query non funge.

    Ma che errore ti da?
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  3. #3
    Mi da questo errore:
    Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
    The statement has been terminated.

  4. #4

    Re: SQL SERVER Help me please!

    Originariamente inviato da benencio

    Questa è la query che avevo preparato ma non funge:

    UPDATE TABELLA2 SET VALUE=
    (SELECT SUM(VALUE) FROM TABELLA2
    where CH1=(SELECT K1 FROM TABELLA1)
    WHERE CH1=K2
    GROUP BY CH1,CH2,....CH15)
    Posta la query precisa che hai provato...

    qua ci sono un po di schifezze tipo :

    group by ....

    where CH1=(SELECT K1 FROM TABELLA1)
    chiudi subito la parentesi quindi per lui la subquery finisce li...
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  5. #5
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Dal regolamento

    3) Evitate di scrivere titoli del tipo AIUTO!!, HELP ME!! , URGENTE!! , URGENTISSIMO!!! o altri titoli vaghi che non dicano niente di utile sul contenuto dei thread.
    Titoli non inerenti , troppo generici o contenenti parole inutili comportano l'immediata chiusura della discussione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.