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

    Operatore IN con elenco di stringhe

    Ciao ragazzi, sto veramente impazzendo, non riesco ad uscirne da questa storia, ho provato a cercare nel forum ma non sono riuscito a trovare nulla che mi aiuti.

    Dovrei fare una query in sql server 2005 che mi trovi un elenco di codici prodotto in un campo tabella di testo, sono quindi codici composti da lettere e numeri.

    I codici possono variare e quindi mi occorre specificare una variabile con l'elenco dei codici.

    Il problema nasce quando devo fare la query in asp con l'operatore IN in quanto mi riconosce la variabile come unico valore da ricercare, ecco il mio codice:

    qui inserisco i codici che possono variare per ogni query...ho provato in tutti i modi ma non ho capito come scriverli per non assegnarli come unico valore bensì come serie di valori
    codice:
    codici = "a111,b222,c333,d444"
    questa è la query che richiama i valori della variabile sopra, ma ovviamente non trova nulla perchè mi cerca un codice composto dai quattro codici dichiarati sopra
    codice:
    SELECT * FROM tab WHERE codice IN ('"&codici&"')

    spero di aver esposto chiaramente il mio problema, sicuramente è stupido ma non riesco a proseguire con il progetto!!!

    Spero di avere qualche suggerimento da voi,

    Saluti
    -------------------------
    Metyuston
    ______________________

  2. #2
    Sono un po' dura di comprendonio e non ho capito quale operazione devi fare

  3. #3
    devo far funzionare la query in modo che mi trovi nella tabella i codici a111,b222,c333,d444 , che possono variare attraverso una form.

    So come scriverla in sql se i codici fossero sempre quelli, cioè:
    codice:
    SELECT * FROM tab WHERE codice IN ('a111','b222','ecc')

    ma se i codici mi cambiano ho bisogno di richiamare le variabili all'interno della query... e questo non so farlo!
    -------------------------
    Metyuston
    ______________________

  4. #4
    Per prima cosa, essendo codici alfanumerici devi scriverli così:
    codice:
    codici = "'a111','b222','c333','d444'"
    La query invece dovresti scriverla senza usare gli apici:
    codice:
    SELECT * FROM tab WHERE codice IN (" & codici & ")
    Prova e facci sapere
    Chi non cerca trova.

  5. #5
    Originariamente inviato da tas
    Per prima cosa, essendo codici alfanumerici devi scriverli così:
    codice:
    codici = "'a111','b222','c333','d444'"
    La query invece dovresti scriverla senza usare gli apici:
    codice:
    SELECT * FROM tab WHERE codice IN (" & codici & ")
    Prova e facci sapere
    Mi da questo errore,

    Incorrect syntax near 'a111'.
    -------------------------
    Metyuston
    ______________________

  6. #6
    Ma il campo codice è di tipo numerico o alfanumerico? Li hai tolti gli apici singoli dalla select?
    Chi non cerca trova.

  7. #7
    Il campo codice è un char(25). Si ho tolto gli apici singoli dalla select.
    -------------------------
    Metyuston
    ______________________

  8. #8
    veramente strano, non riesco ad aggirare il prroblema in nessun modo
    -------------------------
    Metyuston
    ______________________

  9. #9
    Prova a postare il codice...
    Chi non cerca trova.

  10. #10
    ecco il codice

    codice:
    codart = "('212','5PPP500000')"
    Set rs1 = Server.CreateObject("ADODB.Recordset") 
    rs1.Open "SELECT * FROM tab WHERE codice IN (" & codart & ")",conn
    -------------------------
    Metyuston
    ______________________

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.