Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317

    LOOP all'interno di una select

    è possibile?
    Un esempio per favore?

  2. #2
    zacca, il regolamento ce lo siamo dimenticati? indica di quale db stiamo parlando. e poi, cosa intendi per "loop all'interno di una select"?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Sorry, mysql.

    intendo questo:

    SELECT * FROM famigliai WHERE parente IN ( /* definizione array con valori, e loop dei valori */ )

    è alquanto astratto ma mi interessa più per scopo didattico che altro..

  4. #4
    vedo che hai usato "IN", quindi sai già come funziona: ma continuo a non capire cosa intendi con "loop dei valori" (una SELECT è una SELECT, non fa loop...)

    fa' un esempio pratico per piacere

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    qualcosa di simile, dove var contiene gli id dei parenti da estrarre

    SELECT * FROM famiglia WHERE parente_id IN (
    myLoop: LOOP
    SET var = var + 1
    [...]
    END LOOP myLoop;
    SET @x = var;
    )

  6. #6
    no no, fa' un esempio di cosa vuoi ottenere

  7. #7
    ma tu non sai come costruire la parte che sta dentro la IN()?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Certo. Inserendo il nome campi separati da virgola.
    Mi sto inventando queste cose solo per fare pratica e avere il pieno controllo del linguaggio... Come la maggior parte dei programmatori l'unico utilizzo dei database si estende alla loro creazione e alla creazione di semplici costrutti di query utilizzando le funzioni, le join e al massimo l'if.
    C'è differenza fra pogrammare e programmare bene, e siccome il linguaggio sql non sempre offre esercizi pratici per aumentare le conoscenze (in fondo perchè fare un loop dentro una sql come sto tentando di farla io, quando puoi risolvere con il php o l'.asp.net e poi concatenarla) sto cercando di vedere cosa posso realmente fare, o cosa no.

    Comunque vorrei ottenere:
    SELECT * FROM famiglia WHERE parente_id IN (1,2,3)
    o
    SELECT * FROM famiglia WHERE parente_nome IN ('padre', 'madre', 'zio')

  9. #9
    ma perché dici "ottenere"? sei tu che scrivi la query! a meno che il contenuto della IN() non debba provenire da altre tabelle

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Si questo vero, se non è possibile fare ciò che voglio non fa nulla, però possono esistere casi in cui non posso farlo.

    Se potessi farti vedere un esempio in php mi sarebbe tutto più facile...

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.