Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Aiuto per struttura tabella

    Ciao a tutti, ho il presente problema, devo creare una tabella in MySql per calcoare le spese di spedizione, partendo dal pressuposto che per ogni articolo ho il peso, ho bisogno di andare a pescarmi la tariffa relativa, faccio un esempio:

    Per il paese X ho determinati scaglioni ad ognuno dei quali è associata una tariffa:

    0-2kg 3-5Kg 6-10Kg 11-25Kg ecc...

    il tutto per i vari paesi, ora come strutturo la tabella in maniera tale che poi avendo il peso di partenza, che so' 12Kg vado a scorreremi i vari paese selezionando quello giusto, ed pescando poi il valore di prezzo compreso tra 11-25kg ?

    Spero di essermi spiegato bene...

  2. #2
    metti una sola colonna "fino a". in questo modo puoi cercare

    ... WHERE peso <= fino_a ...



  3. #3
    Originariamente inviato da optime
    metti una sola colonna "fino a". in questo modo puoi cercare

    ... WHERE peso <= fino_a ...


    Ok per il peso, ma per le varie nazioni?

    Ciao

  4. #4
    a fio', e dai... AND nazione=nazione

  5. #5
    Originariamente inviato da optime
    a fio', e dai... AND nazione=nazione
    Ao' e nun c'arrivo che devo fà?

    Due dubbi, il primo se mi esce un peso di 9, troverò almeno 100 fasce di prezzo che sono <= a 9, quale pigla di queste?
    Il secondo così facendo dev creare n colonne per ogni nazione? perchè mi viene un tabellone pazzesco, sia come numero di record che come numero di colonne, puoi scrivermi come butteresti te giù la struttura della tabella?

    Grazie

  6. #6
    Originariamente inviato da luca.gigliofior
    ... puoi scrivermi come butteresti te giù la struttura della tabella?

    Grazie
    nun c'hai voja de fa' gnente, eh?

    ID - PESOMAX - NAZIONE - PREZZO


    SELECT TOP 1 PREZZO FROM tabella_dello_sfaticato WHERE var_peso <= PESOMAX AND var_nazione = NAZIONE ORDER BY PESOMAX DESC





    prova!

  7. #7
    Originariamente inviato da optime
    nun c'hai voja de fa' gnente, eh?

    ID - PESOMAX - NAZIONE - PREZZO


    SELECT TOP 1 PREZZO FROM tabella_dello_sfaticato WHERE var_peso <= PESOMAX AND var_nazione = NAZIONE ORDER BY PESOMAX DESC




    prova!
    Grazie del suggerimento, accetto tutto ma non lo sfaticato, se ti dicessi come avevo bypassato il problema capiresti (avevo creato un tabellone tipo battaglia navale oer intendersi con il nome dei campi associato ai paesi e con una select distinct mi isolavo il prezzo, un giorno solo per popolare la tabella ), ora ho provato come mi hai detto tu, ma non funge, tieni presente che ho MySql e che mi dice :

    "Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [MySQL][ODBC 3.51 Driver][mysqld-4.0.21-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '1 Costo FROM magazzino.costi_spedizioni WHERE Peso_Complessiv

    /carrello.asp, line 111
    "


    Alla riga 111 ho:

    RSCostoSpeizione.Open()


    Suggerimenti?

  8. #8
    ma vedi che continui ad essere pigro? perché non posti l'istruzione (completa) che cerchi di eseguire?

  9. #9
    Originariamente inviato da optime
    ma vedi che continui ad essere pigro? perché non posti l'istruzione (completa) che cerchi di eseguire?
    SELECT TOP 1 Costo FROM magazzino.costi_spedizioni
    WHERE Peso_Complessivo <= KG AND VarPaese = Paese
    ORDER BY KG DESC

    Per non rischiare che mi impiccio a sostituire le variabili la stà provando senza direttamente nel db così:

    SELECT TOP 1 Costo FROM magazzino.costi_spedizioni WHERE '98' <= KG AND 'Lussemburgo' = Paese ORDER BY KG DESC


    Mi dice che ho un errore di sintassi SQL, sto' provando a dirgli By Optime, al posto di By KG Desc, ma non funzica uguale


  10. #10
    Originariamente inviato da luca.gigliofior
    Mi dice che ho un errore di sintassi SQL, sto' provando a dirgli By Optime, al posto di By KG Desc, ma non funzica uguale

    abbello, non hai imBosto le mani, per questo non funzica

    cmq, per MySQL devi usare LIMIT al posto di TOP

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.