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

    unire due query con diversi campi

    Salve voglio inserire alcuni campi della tabella modelli nel campo schede ecco come sono fatte le tabelle:
    tabella schede campi
    id1 idcliente obiettivo livello durata_scheda data_attivazione
    tabella modelli campi
    id1 cliente obiettivo livello durata_scheda data_attivazione

    ora voglio che nel nuovo id delle schede mi insersca obiettivo livello durata_scheda data_attivazione

    la query che ho creato è questa ma non mi restituisce nulla.
    Ultima modifica di dechiara.p88; 28-02-2015 a 13:23
    I bravi programmatori sanno cosa scrivere, i migliori sanno cosa riscrivere (e riusare)

  2. #2
    insert into schede(id1, idcliente) values ('$idscheda','$utente') union INSERT schede (obiettivo, livello, durata_scheda, data_attivazione)
    SELECT obiettivo, livello, durata_scheda, data_attivazione
    FROM modelli
    WHERE modelli.id1 = $id
    I bravi programmatori sanno cosa scrivere, i migliori sanno cosa riscrivere (e riusare)

  3. #3
    Non ho capito...vuoi inserire nuovi campi o nuovi record? Perchè se vuoi inserire nuovi record insert into va bene ma se vuoi inserire nuovi campi (modificando così la struttura della tabella) non va bene insert into ma ci vuole alter table.
    Se ti spieghi meglio...posso cercare di aiutarti!!! Cmq che errore ti da la query?

  4. #4
    in pratica voglio inserre quei campi nella tabella schede; fatto sta che così com'è la query non mi inserisce niente nel database; ora se divido la query dove ci sono le insert nel database vengono creati due output uno con id1, idcliente ed il resto tutti zero ed una con id1, idcliente = 0 e obiettivo, livello, durata_scheda, data_attivazione con i rispettivi valori. Ora io ho provato ad unirle con union ma la query ha smesso di funzionare(non fa nulla); ora c'è un altro modo per unire le due query?? spero di essere stato chiaro
    I bravi programmatori sanno cosa scrivere, i migliori sanno cosa riscrivere (e riusare)

  5. #5
    Allora...forse ho capito cosa vuoi fare:
    vuoi inserire un nuovo record nella tabella SCHEDE ma non specificando tutti i valori dei campi della tabella, tu vuoi specificare id1 e idcliente poi vuoi che gli altri campi schede.obiettivo, schede.livello, ecc... vengano popolati (nello stesso record) con i valori che hanno nel record della tabella MODELLIi che ha quel id1 e quel idcliente, giusto???

    Se quello che ho capito è giusto con una semplice query non puoi fare questa operazione, ti serve almeno una procedura o in alternativa ti serve poter lavorare con il codice php o asp o java (non so con cosa lavori).

    Che linguaggio usi? Che db usi?
    Dimmi un pò così se ho capito bene quello che vuoi fare provo a darti una mano (sempre se conosco il linguaggio che usi tu ).


    Quote Originariamente inviata da dechiara.p88 Visualizza il messaggio
    in pratica voglio inserre quei campi nella tabella schede; fatto sta che così com'è la query non mi inserisce niente nel database; ora se divido la query dove ci sono le insert nel database vengono creati due output uno con id1, idcliente ed il resto tutti zero ed una con id1, idcliente = 0 e obiettivo, livello, durata_scheda, data_attivazione con i rispettivi valori. Ora io ho provato ad unirle con union ma la query ha smesso di funzionare(non fa nulla); ora c'è un altro modo per unire le due query?? spero di essere stato chiaro

  6. #6
    esatto; il linguaggio che sto usando è php uso il database mysqladmin
    I bravi programmatori sanno cosa scrivere, i migliori sanno cosa riscrivere (e riusare)

  7. #7
    Oh...finalmente ci siamo capiti!!! Bene...
    Allora...una volta che hai i valori dei campi id1 e idcliente fai in php la query che hai scritto sopra:
    codice:
    SELECT obiettivo, livello, durata_scheda, data_attivazione
    FROM modelli
    WHERE modelli.id1 = $id
    Metti il risultato della query in un array e poi fai la insert in tabella specificando tutti i campi.
    codice:
    insert into schede(id1, idcliente, obiettivo, livello, durata_scheda, data_attivazione) values ('$idscheda','$utente', specifichi i valori dell'array che hai ottenuto con la query precedente)
    L'idea te l'ho data...spero di essermi spiegata. Poi se scrivi un po' di codice, fai delle prove e trovi problemi...posta il codice che ci guardiamo insieme

  8. #8
    ora mi da questo problema syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ecc ecc dove ho sbagliato?? la sintassi ma cosa??

    http://i61.tinypic.com/2rrx6qw.png
    mi scuso se posto una foto ma il vostro forum non mi permette più di inserre codice php
    Immagini allegate Immagini allegate
    Ultima modifica di dechiara.p88; 04-03-2015 a 17:18
    I bravi programmatori sanno cosa scrivere, i migliori sanno cosa riscrivere (e riusare)

  9. #9
    mandami il codice su un msg privato perchè non riesco a leggere niente...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.