es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Consulta SOQL utilizando LIKE y lista de cadenas La consulta SOQL utilizando el operador LIKE y una lista de cadenas sería la siguiente: SELECT campo FROM objeto WHERE campo LIKE ‘valor1%’ OR campo LIKE ‘valor2%’ OR campo LIKE ‘valor3%’… OR campo LIKE ‘valorN%’ En esta consulta, “campo” representa el nombre del campo en el objeto sobre el cual deseas realizar la búsqueda utilizando el operador LIKE. “objeto” se refiere al nombre del objeto en el que se encuentra el campo. “valor1” a “valorN” son las cadenas de texto que deseas comparar con el campo, utilizando el operador LIKE con la cláusula ‘valor%’. Recuerda reemplazar “campo”, “objeto”, “valor1” a “valorN” con los nombres y valores reales de tu caso.

Estoy analizando datos de Salesforce utilizando Python y estoy buscando registros con nombres de usuario que contengan ‘Jack’, ‘Jones’ o ‘Jill’. La solución actual que tengo es la siguiente:

sf.query(format_soql("SELECT Id, Email FROM Contact WHERE (Name LIKE '%Jones%' OR Name LIKE '%Jones%' OR Name LIKE '%Jill%'))

Aquí tengo un ejemplo aquí y logré que el siguiente ejemplo funcionara:

sf.query(format_soql("SELECT Id, Email FROM Contact WHERE Name LIKE '{:like}%''", 'Jones'))

Sin embargo, no puedo pasar una lista de cadenas como esta:

str_list = ['Jack', 'Jones', 'Jill']

¿Hay alguna forma de pasar la lista directamente a la consulta SOQL?

Gracias, \
T

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de pasar la lista a la consulta SOQL en sí misma usando el operador “IN”. Puede modificar la consulta para usar el operador IN de la siguiente manera:

    str_list = ['Jack', 'Jones', 'Jill']
    query_str = "SELECT Id, Email FROM Contact WHERE Name IN ('{}')".format("', '".join(str_list))
    
    sf.query(query_str)
    

    Este código genera una cadena de consulta utilizando una función de unión de cadenas para unir los elementos de la lista str_list. La consulta resultante devolverá todos los contactos cuyo nombre sea ‘Jack’, ‘Jones’ o ‘Jill’.

Comments are closed.