Visualizzazione dei risultati da 1 a 5 su 5

Discussione: SQL ricerca

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    56

    SQL ricerca

    Hon un problema con questa ricerca SQL:

    SQL = "SELECT DISTINCT TOP 300 * FROM Tabella_siti "

    SQL = SQL & "WHERE ("

    if left(lcase(KeywordArray(j)),5) = "link:" then
    if Instr(1,lcase(KeywordArray(j)),"http://") then
    SQL = SQL & "Tabella_siti.URL LIKE '%" & right(lcase(KeywordArray(j)),len(KeywordArray(j)) - 5) & "%'"
    else
    SQL = SQL & "Tabella_siti.URL LIKE '%http://" & right(lcase(KeywordArray(j)),len(KeywordArray(j)) - 5) & "%'"
    end if
    else

    if len(tempkeyword) > 0 then
    for j = lbound(KeywordArray) to ubound(KeywordArray)
    if request.form("type") = "EX" then
    SQL = SQL & "Tabella_siti.Titolo = '" & CheckString(KeywordArray(j)) & "'"
    else
    SQL = SQL & "Tabella_siti.Titolo LIKE '%" & CheckString(KeywordArray(j)) & "%'"
    end if
    if j <> ubound(KeywordArray) then
    SQL = SQL & " AND "
    end if
    next
    else
    SQL = SQL & "Tabella_siti.Titolo LIKE '%%'"
    end if

    SQL = SQL & " OR "
    if len(Tempkeyword) > 0 then
    for j = lbound(KeywordArray) to ubound(KeywordArray)
    if request.form("type") = "EX" then
    SQL = SQL & "Tabella_siti.Descrizione = '" & CheckString(KeywordArray(j)) & "'"
    else
    SQL = SQL & "Tabella_siti.Descrizione LIKE '%" & CheckString(KeywordArray(j)) & "%'"
    end if
    if j <> ubound(KeywordArray) then
    SQL = SQL & " AND "
    end if
    next
    else
    SQL = SQL & "Tabella_siti.Titolo LIKE '%%'"
    end if

    SQL = SQL & " AND "
    if len(Tempkeyword02) > 0 then
    for j = lbound(KeywordArray) to ubound(KeywordArray)
    if request.form("type") = "EX" then
    SQL = SQL & "Tabella_siti.Provincia = '" & CheckString(KeywordArray(j)) & "'"
    else
    SQL = SQL & "Tabella_siti.Provincia LIKE '%" & CheckString(KeywordArray(j)) & "%'"
    end if
    if j <> ubound(KeywordArray) then
    SQL = SQL & " AND "
    end if
    next
    else
    SQL = SQL & "Tabella_siti.Titolo LIKE '%%'"
    end if

    end if

    SQL = SQL & ")"

    Mi fa la ricerca con tempkeyword (che fa riferimento ai campi titolo e descrizione) ma mi esclude tempkeyword02 (che fa riferimento al campo provincia). Non riesco ha capire che errore c'è nella condizione.

  2. #2
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    be sicuramente un ottimo punto di partenza è stamparti l'sql e vedere come viene scritta no?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    56
    Questo è quello che mi stampa:

    ***SELECT DISTINCT TOP 300 * FROM Tabella_siti WHERE (Tabella_siti.Titolo LIKE '%p%' OR Tabella_siti.Descrizione LIKE '%p%' AND Tabella_siti.Provincia LIKE '%p%')***

    Infatti in Tabella_siti.Provincia LIKE '%p%' avrebbe dovuto scrivermi va e non p che va bene nelle due tabelle precedenti.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    56
    Sono riuscito a risolvere il problema nel senso che adesso pesca i valori dei campi giusti Titolo, Descrizione e Provincia.
    Però non mi filtra i risultati giusti nel senso che non verifica i dati che compaiono anche in provincia.

    Come posso fare ?

    Grazie.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    56
    Risolto.

    Grazie

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.