Especificar condición conjunta y excluyente de columnas con WHERE múltiples veces
Publicado por santa (1 intervención) el 17/09/2018 19:14:30
Pues estoy utilizando MYSQL y no consigo especificar unas columnas especificas múltiples veces. Se que el código siguiente esta mal pero es para entender mejor lo que intento hacer.
Nota: id_seguir_libro = id del libro
Necesito especificar en la misma consulta, que de id_seguir_libro seleccione unos id en especifico y con unos capítulos concretos. Con IN no me sirve, porque seleccionaría los id de seguir los libros bien, pero entonces no cogería los capítulos correctos para cada seguimiento. Puede que el usuario no este siguiendo un libro o id_seguir_libro, puede incluso que no este siguiendo ninguno. Lo que intento es que devuelva los que si esta siguiendo
También he probado hacerlo con CASE WHEN, pero tampoco sale.
La suma de números es que son variables.
Resultado esperado:
Nota: id_seguir_libro = id del libro
Necesito especificar en la misma consulta, que de id_seguir_libro seleccione unos id en especifico y con unos capítulos concretos. Con IN no me sirve, porque seleccionaría los id de seguir los libros bien, pero entonces no cogería los capítulos correctos para cada seguimiento. Puede que el usuario no este siguiendo un libro o id_seguir_libro, puede incluso que no este siguiendo ninguno. Lo que intento es que devuelva los que si esta siguiendo
1
2
3
4
5
6
7
SELECT id_seguir_libro, numero_capitulo
FROM Seguir, Capitulos
WHERE id_usuario = 1 AND
id_seguir_libro = id_libro_capitulo AND
(id_seguir_libro = 15 AND numero_capitulo = (10+1)) AND/OR
(id_seguir_libro = 25 AND numero_capitulo = (5+1)) AND/OR
(id_seguir_libro = 30 AND numero_capitulo = (23+1))
También he probado hacerlo con CASE WHEN, pero tampoco sale.
La suma de números es que son variables.
1
2
3
4
5
6
7
8
Seguir Capitulos
id_follow_book id_usuario id_chapter_book num_chapt
30 1 30 6
25 1 30 5
13 1 30 4
21 1 25 24
25 23
Resultado esperado:
1
2
3
id_seguir_libro numero_capitulo
30 6
25 24
Valora esta pregunta


0