Visualizzazione risultati 1 fino 9 di 9

Discussione: mysql tabelle

  1. #1
    Guest

    Predefinito mysql tabelle

    Domanda difficile
    Ho questa query:
    Codice PHP:
    $query1="SELECT * FROM ciclazione,agente WHERE ID_agente=ID_ciclazione ORDER BY cognome";
    Che unisce due tabelle medeante l'id.
    Ho la necessità di crearne un'altra dove id_agente 1 venga collegato con l'id_ciclazione 2 e cosi via mentre l'ultimo id_agente venga collegato con il primo id_ciclazione.
    Come posso fare?

  2. #2
    Guest

    Predefinito

    In parte risolto con questa query:
    Codice PHP:
    $query1="SELECT * FROM ciclazione,agente WHERE ID_ciclazione=ID_agente+1 ORDER BY cognome";
    Ma come risposta mi da 214 record invece di 215
    come lego l'ultimo record della tabella agente con il primo della tabella ciclazione?

  3. #3
    Guest

    Predefinito

    Purtroppo io e sql abbiamo litigato da bambini, :) ma credo che per te ci vogliano i cursori...Trovi tante guide online sull'utilizzo dei cursori,ciao

  4. #4
    Guest

    Predefinito

    Provo a studiarli grazie della dritta

  5. #5
    Guest

    Predefinito

    Come implemento il cursore nella mia pagina php?

  6. #6
    Guest

    Predefinito

    Non credo che i cursori siano lo strumento ottimale :D
    Il codice sotto dovrebbe funzionare per quello che ti sei proposto ;)

    Codice PHP:
    SELECT * FROM ciclazione,agente WHERE ID_ciclazione=ID_agente+1 OR ID_agente=( SELECT max(ID_agente) FROM agente) AND ID_ciclazione=( SELECT min(ID_ciclazione) FROM ciclazione) ORDER BY cognome
    Tieni in considerazione che per unire più tabelle puoi utilizzare anche le Join (Inner, left, right etc.).
    Fammi sapere se funge, byee!

  7. #7
    Guest

    Predefinito

    Si funziona, ma per fare ciò esiste un metodo più semplice? Provo a spiegarmi il programma è gestito da 3 tabelle data, ciclazione, agente (ciclazione ed agente hanno 215 record) i campi delle tabelle sono i seguenti:
    data -> ID_data, data;
    ciclazione -> ID_ciclazione, lunerdi, martedi, mercoledi, giovedi, venerdi, sabato, domenica;
    agente -> ID_agente, cognome nome.

    ogni settimana dovrei legare ID_ciclazione a ID_agente in questo modo
    I° settimana ID_ciclazione 1 2 3 4 5 -> ID_agente 1 2 3 4 5
    II° settimana ID_ciclazione 1 2 3 4 5 -> ID_agente 5 1 2 3 4
    III° settimana ID_ciclazione 1 2 3 4 5 -> ID_agente 4 5 1 2 3
    e cosi via.......
    Consigli?

  8. #8
    Guest

    Predefinito

    Non capisco allora, non deve essere ciclazione = agente +1 e prima cliclazione = ultimo agente perchè hai 5 agenti ma una volta è l'ultimo ad avere ciclazione 1 un'altra volta è il 5 e poi il 4, stai ciclando i giorni delle settimane con gli agenti, il cursore fa proprio questo cicla, è come un ciclio for, però ripeto io non sono proprio esperto di sql, a lavoro lo uso marginalmente quindi probabilmente dico anche delle fesserie
    Ultima modifica di fractalcosmo : 02-03-2015 alle ore 21.07.30

  9. #9
    Guest

    Predefinito

    la ciclazione in questione deve ciclare 215 agenti per 215 settimane ogni riga della ciclazione equivale a sette turni quello era un esempio di come cicla, inoltre deve tener conto della data che deve restituire il servizio giornaliero ho inoziato a farlo con dei cicli switch ma ho trovato un errore. Consigli su come farlo?

Regole di scrittura

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