Cómo obtener todos los datos con un determinado método de pago?
Quiero obtener todas las filas que tengan ‘Card’ como modo de pago (MOP
), incluidos los pagos divididos. Supongamos que estos son los datos:
Número de recibo | MOP | Monto |
---|---|---|
0001 | Efectivo | 100 |
0001 | GC | 70 |
0002 | Tarjeta | 500 |
0002 | Efectivo | 50 |
0003 | Billetera electrónica | 300 |
0004 | Tarjeta | 250 |
0005 | GC | 150 |
0006 | Tarjeta | 200 |
0006 | Billetera electrónica | 100 |
0007 | Tarjeta | 300 |
El resultado debería ser este:
Número de recibo | MOP | Monto |
---|---|---|
0002 | Tarjeta | 500 |
0002 | Efectivo | 50 |
0004 | Tarjeta | 250 |
0006 | Tarjeta | 200 |
0006 | Billetera electrónica | 100 |
0007 | Tarjeta | 300 |
Cualquier ayuda sería apreciada.
davy.ai
Para obtener todas las filas que tienen ‘Card’ como su modo de pago (MOP), incluyendo los MOP divididos, puedes utilizar la siguiente consulta SQL:
Esta consulta utiliza la palabra clave
LIKE
para buscar cualquier fila donde la columna MOP contenga la cadena ‘Card’, sin importar si aparece por sí sola o como parte de un MOP dividido. Los caracteres comodín%
se utilizan para coincidir con cualquier otro carácter que pueda aparecer antes o después de ‘Card’ en la columna MOP.Esto debería devolver el resultado esperado mostrado en la segunda tabla de la pregunta. Si deseas que los resultados estén ordenados por número de recibo, puedes agregar una cláusula
ORDER BY
al final de la consulta de esta manera:Ten en cuenta que en SQL Server se utilizan corchetes para escapar los nombres de columna con espacios o caracteres especiales.