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

    [MySQL] Aiuto su Query incrementale

    Ciao a tutti, premetto che ho a malapena le basi in fatto di DB e quello che mi serve lo reperisco di solito grazie a voi esperti di questo forum. Ma ora ho un problema che reputo "grave", vi spiego meglio:

    Stavo procedendo alla registrazione delle fatture del mio ecommerce quando mi accorgo che è saltata per qualche motivo la numerazione, dalla fattura 119 si è passati alla 344.
    La mia domanda è la seguente, è possibile procedere alla rinumerazione delle sole fatture 2015 con una query?

    Riuscireste a fornirmi la query da utilizzare? (naturalmente dopo aver eseguito un backup )

    la tabella incriminata è: "ps_order_invoice"
    la colonna con la numerazione si chiama "number"
    la colonna della data si chiama "date_add" e utilizza questo formato 2015-12-15 09:57:35

    Grazie infinitamente a chi verrà in mio soccorso

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    24
    Premetto dicendo che queste operazioni andrebbero fatte da persone più esperte, soprattutto tenendo presente che si tratta di fatture,
    anche perchè se non si conosce a fondo la struttura del database e la logica dell'applicativo che si utilizza si rischiano di fare più disastri che il resto.Esempio magari questa tabella è collegata ad una tabella contatori che necessita di altri dati ecc ecc.

    Detto questo puoi ottenere quello che vuoi prendendo spunto da questa select.
    SELECT (@rank:=@rank+1) AS counter,ps_order_invoice.*
    FROM ps_order_invoice INNER JOIN
    (SELECT @rank :=0) b
    da qui controlli se il risultato che ti propone la colonna counter è quello desiderato, dopo di che ti basta trasformarla in una UPDATE

  3. #3
    Grazie lucap.13 per la tua risposta, so già che non ci sono collegamenti con altre tabelle (a dire il vero c'è ma è con un altro campo), il mio regime fiscale mi permette di non tenere la contabilità entro certi limiti, la numerazione è più che altro una voglia mia di sistemare e imparare nuove cose

    Devo però chiederti è possibile implementare nella query che mi hai fornito un controllo sulla data? (basterebbe solo sull'anno)
    Es. controlla che le fatture dell'anno 2015 siano numerate da 1 a 600 se non è così correggi la numerazione.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    24
    puoi mettere una clausola di WHERE per filtrare solamente le fatture del 2015

    WHERE year(date_add)=2015
    ma la select non controlla se la numerazione è corretta.

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.