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

    [MySQL] selezionare diversi campi

    Nella seguente query seleziono dei campi a seconda che il campo STRIKE sia tra 13500 e 15000:

    Codice PHP:
     SELECT SDATESPOTSTRIKESETTLEMENT
    FROM 
    `OPT_FTSEMIB`
    WHERE TYPE "P"
    AND STRIKE >=13500
    AND STRIKE <=15000
    AND EXPIRY "MAR13"
    AND SDATE "2012-11-02"
    LIMIT 0 30 
    Vorrei invece selezionare 13500,14000,14500 e 15000 come si fa?

  2. #2
    Lo stesso vale anche per EXPIRY, se colessi selezionare dove questo campo è uguale a "MAR13" e "DEC12"?

    Grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136
    Spero di aver capito il problema.Prova così:

    codice:
    SELECT SDATE, SPOT, STRIKE, SETTLEMENT
    FROM `OPT_FTSEMIB`
    WHERE TYPE = "P"
    AND STRIKE =13500
    AND STRIKE =14000
    AND STRIKE=14500
    AND STRIKE=15000
    AND EXPIRY = "MAR13" 
    AND EXPIRE="DEC12"
    AND SDATE = "2012-11-02"
    LIMIT 0 , 30
    Saluti.

  4. #4
    naturalmente ci avevo provato in questo modo, e restituisce zero righe

  5. #5
    Strano che non si possa fare usa selezione tipo 13000|13500|14000 etc...

    Ci sono gli array in sql? Intendo, qualcosa come @strike=(13000,13500,14000) e poi fare una while/foreach per ogni elemento es eseguire una SELECT...

  6. #6
    Utente di HTML.it L'avatar di vnt54
    Registrato dal
    Mar 2009
    Messaggi
    500
    prova con:
    codice:
    WHERE STRIKE BETWEEN 13000 AND 15000
    Sono stato nella terra della paura e dei vampiri...in transilvania?NO!..in Banca!

  7. #7
    usare il classico operatore OR? ... WHERE colonna = 'A' OR colonna = 'B'

  8. #8
    Originariamente inviato da verhuizen
    Strano che non si possa fare usa selezione tipo 13000|13500|14000 etc...

    Ci sono gli array in sql? Intendo, qualcosa come @strike=(13000,13500,14000) e poi fare una while/foreach per ogni elemento es eseguire una SELECT...
    SELECT FROM....WHERE strike IN (13000,13500,14000)

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136
    Mi sono sbagliato:

    codice:
    SELECT SDATE, SPOT, STRIKE, SETTLEMENT
    FROM `OPT_FTSEMIB`
    WHERE TYPE = "P"
    AND (STRIKE =13500
    OR STRIKE =14000
    OR STRIKE=14500
    OR STRIKE=15000)
    AND (EXPIRY = "MAR13" 
    OR EXPIRE="DEC12")
    AND SDATE = "2012-11-02"
    LIMIT 0 , 30
    Prova così.Saluti.

  10. #10
    Ciao,
    prova così:

    Vorrei invece selezionare 13500,14000,14500 e 15000 come si fa?
    codice:
    SELECT SDATE, SPOT, STRIKE, SETTLEMENT 
    FROM `OPT_FTSEMIB` 
    WHERE TYPE = "P" 
    AND STRIKE IN (13500,14000,14500,15000)
    AND EXPIRY = "MAR13" 
    AND SDATE = "2012-11-02" 
    LIMIT 0 , 30

    Lo stesso vale anche per EXPIRY, se colessi selezionare dove questo campo è uguale a "MAR13" e "DEC12"
    codice:
    SELECT SDATE, SPOT, STRIKE, SETTLEMENT 
    FROM `OPT_FTSEMIB` 
    WHERE TYPE = "P" 
    AND STRIKE IN (13500,14000,14500,15000)
    AND EXPIRY IN ("MAR13", "DEC12")
    AND SDATE = "2012-11-02" 
    LIMIT 0 , 30
    Ciao
    Mik

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.