Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [VB 6] query contorta

  1. #1

    [VB 6] query contorta

    Ciao devo fare un inserimento in una tabella, collegata ad altre due, ma senza join solamente a codice.

    Allora le tabelle


    codice:
    GRUPPO:
    ID - contatore
    GRUPPO - testo
    DESCRIZIONE - testo
    
    CLASSE:
    ID - contatore
    ID_GRUPPO - numero --> query con GRUPPO.ID
    CLASSE - testo
    DESCRIZIONE - testo
    
    CONTO:
    ID - contatore
    ID_CLASSE - numero --> query con CLASSE.ID
    CONTO - testo
    DESCRIZIONE - testo
    Io ho questi valori

    GRUPPO.GRUPPO, CLASSE.CLASSE, CONTO.CONTO, CONTO.DESCRIZIONE.

    Come imposto la query?
    codice:
    INSERT INTO CONTO (CONTO, DESCRIZIONE) VALUES ('Valore1', 'Valore2') WHERE GRUPPO.GRUPPO LIKE 'GRUPPO' AND CLASSE.CLASSE 'CLASSE';
    Ma non la devo impostare cosi', devo usare left e right join, chi mi sa aiutare?

  2. #2

  3. #3
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    Se vuoi creare dei nuovi conti appartenenti ad una certa classe di un certo gruppo e la classe o il gruppo non esistono ti conviene fare 3 passaggi

    - crei il gruppo (INSERT INTO...)
    - Crei la classe con l'ID del gruppo appena creato
    - crei il conto con l'id della classe appena creata
    S'i fosse foco, arderei 'l mondo

  4. #4
    Oh cik forse non mi sono spiegato bene, come vedi da immagine allegata, io devo creare un conto, ma la classe e il gruppo li conosco già

    Dovrei fare una cosa tipo

    codice:
    INSERT INTO CONTO (campi)...
    
    WHERE GRUPPO.GRUPPO = 'VALORE' AND
    CLASSE.CLASSE = ''
    è possibile fare una cosa di questo tipo?

    :bubu:

  5. #5
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    non capisco perchè per inserire valori in una tabella devi mettere delle condizioni relative alle altre.
    è solo per avere il valore da mettere in ID_CLASSE?
    S'i fosse foco, arderei 'l mondo

  6. #6
    Allora non ci capiamo io ho CLASSE e GRUPPO ma le query sarebbero con ID_CLASSE e ID_GRUPPO, che non conosco ...

    Capisci?

  7. #7
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449

    Re: [VB 6] query contorta

    Come imposto la query?
    codice:
    INSERT INTO CONTO (CONTO, DESCRIZIONE) VALUES ('Valore1', 'Valore2') WHERE GRUPPO.GRUPPO LIKE 'GRUPPO' AND CLASSE.CLASSE 'CLASSE';
    Ma non la devo impostare cosi', devo usare left e right join, chi mi sa aiutare?
    no, non capisco.
    La sintassi dell'istruzione INSERT INTO non prevede condizioni WHERE a meno che non facciano parte di una query di selezione del tipo SELECT FROM WHERE.

    La query
    codice:
    INSERT INTO CONTO (CONTO, DESCRIZIONE) VALUES ('Valore1', 'Valore2')
    accoda un nuovo valore ad una tabella.

    Se parli di JOIN e WHERE stai parlando di estrazione dati che è l'esatto contrario di quello che fai con INSERT INTO.

    Se riesci fai un esempio pratico di quello che vuoi fare
    S'i fosse foco, arderei 'l mondo

  8. #8
    Ok in pratica devo fare tre query:

    codice:
    SELECT ID FROM GRUPPO WHERE GRUPPO = VALORE
    
    VALORE1 = RECORD ESTRATTO
    
    SELECT ID FROM CLASSE WHERE ID_GRUPPO = VALORE1
    
    VALORE2 = RECORD ESTRATTO
    
    INSERT INTO CONTO (ID_CLASSE, CONTO, DESCRIZIONE) VALUES (VALORE2, CONTO, DESCRIZIONE)
    Pensavo di poterla 'zippare' in una sola query ...

    Mi sbaglio?

  9. #9
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    esatto.
    S'i fosse foco, arderei 'l mondo

  10. #10
    e va be' ho capito che oggi tra questa query ed una connessione DB che non va devo perdere la giornata su access.

    :quipy: --> come mi girano ...

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.