Visualizzazione risultati 1 fino 5 di 5

Discussione: seconda riga in tabella

  1. #1
    Guest

    Predefinito seconda riga in tabella

    salve ragazzi grazie all'amico stoner sono riuscito ad inserire in una tabella chiamata sensori dei dati in base ad una determinata condizione :
    VALORE1 > VALOREMASSIMO e grazie a stoner con questa query riesco ad inserire la riga:

    INSERT INTO sensore SELECT * FROM letture WHERE letture.valore1 > valoremassimo AND (SELECT sensori.ids FROM sensori WHERE sensore.ids = letture.ids) IS NULL;

    adesso il problema nasce all'inverso quando il valore rientra nei limiti e cioe' :
    VALORE1 < VALOREMASSIMO come inserire la seconda riga visto che ids e' uguale al primo record???

    help me tank

  2. #2
    Guest

    Predefinito

    Se tu vuoi che venga inserito in entrambi i casi ti basta fare
    Codice:
    INSERT INTO sensore 
    SELECT * FROM letture WHERE 
    letture.valore1 > valoremassimo OR
    letture.valore1 < valoreminimo AND 
    (SELECT sensori.ids FROM sensori WHERE sensore.ids = letture.ids) IS NULL;
    (potevi chiedere anche nell'altro topic.. era inerente)
    #edit ma non doveva essere minore di valoreminimo ?
    Ultima modifica di stoner : 03-07-2009 alle ore 22.46.44

  3. #3
    Guest

    Predefinito

    E' perfetto funziona grazie stoner, ma mi sono accorto di un'altro problema, la seconda variabile :
    letture.valore1 < valoreminimo
    deve essere inserita nella tabella solo se per lo stesso ids ho avuto prima la seguente condizione:
    letture.valore1 > valoremassimo OR
    in poche parole la prima condizione e' una condizione di riposo e non deve apparire se prima non ho la condizione di allarme ,credo di averla fatta fuori vabbe' ci provo scusate se vi dico le cose a tappe ma mentre provo vengono fuori le problematiche.
    Grazie

  4. #4
    Guest

    Predefinito

    e allora basta mettere l'and al posto dell'or
    Codice:
    INSERT INTO sensore 
    SELECT * FROM letture WHERE 
    letture.valore1 > valoremassimo AND
    letture.valore1 < valoreminimo AND 
    (SELECT sensori.ids FROM sensori WHERE sensore.ids = letture.ids) IS NULL;

  5. #5
    Guest

    Predefinito

    Grazie stoner anche se mi sono beccato un richiamo con 5 punti di penalizzazione per aver fatto due domande dentro lo stesso post ne e' valsa la pena ,
    Grazie ancora ciao

    EDIT:
    non mi funziona o meglio lancio la query direttamente da phpmyadmin e la esegue senza errori ma poi dentro la tabella allarmi non viene riportato nessun record nonostante dentro la tabella archivio abbia due righe per lo stesso ids con :
    valore1>valoremassimo
    valore1<valoremassimo

    ho detto tabella archivio e non letture perche' nella tabella letture per ogni ids ho una sola lettura per volta ogni volta viene aggiornata mentre nella tabella archivio vengono depositate tutte le letture di tutti gli ids???????
    tra un po' vado in tilt
    Ultima modifica di seneca : 05-07-2009 alle ore 19.28.26

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •