Obtener índice o usar la lista de pares en mysql?

.net dapper mysql

Pregunta

Quiero hacer algo como el siguiente, donde ls es un par (id y valor para que coincida con bla). Tal vez si pudiera obtener el índice de la lista, simplemente puedo usar la lista normalmente y tomar la identificación en el código

select @id from table1 where blah in @ls

Respuesta aceptada

Dapper es un barniz muy delgado sobre SQL. Lo único que agrega como un cambio de sintaxis es la expansión IN de:

x in @foo

a

x in (@foo0, @foo1, @foo2, @foo3)

Sin embargo, no creo que su consulta pueda escribirse así. El primer paso, entonces, es escribir su consulta en SQL regular. Si esto fuera SQL-Server, estaría pensando:

  • una UDF que convierte una entrada de cadena delimitada en una salida tabular
  • una unión interna

por ejemplo:

select #x.id
from dbo.MyMagicUdf(@s) #x -- has columns id and value
inner join table1 t on t.blah = #x.value -- or whatever the join is

Pero para repetir: el primer paso es escribirlo en SQL para su RDBMS. Una vez que tengas eso funcionando, debería ser muy fácil conseguir que aprendas a trabajar con él.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow