Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VIEW query AS (
- SELECT
- q.id AS q_id,
- q.title,
- q.description,
- q.last_redaction_date ,
- q.persist_date ,
- u.id ,
- u.full_name ,
- u.image_link ,
- (
- SELECT SUM(r.COUNT) FROM reputation r WHERE r.author_id = u.id)
- AS reputation,
- (
- SELECT COUNT(up.vote) FROM votes_on_questions up WHERE up.vote = 'UP_VOTE' AND up.question_id = q.id )
- AS up_votes
- (
- SELECT COUNT(down.vote) FROM votes_on_questions down WHERE down.vote = 'DOWN_VOTE' AND down.question_id = q.id)
- AS down_votes,
- (
- SELECT COUNT(a.id) FROM answer a WHERE a.question_id = q.id)
- AS answers,
- t.id AS t_id,
- t.name AS t_name,
- t.description AS t_desc
- FROM
- question q JOIN user_entity u ON u.id = q.user_id JOIN
- question_has_tag qht ON q.id = qht.question_id JOIN
- tag t ON qht.tag_id = t.id
- )
- CASE
- WHEN -1 = :inignoredTag THEN (SELECT * FROM query WHERE qht.tag_id IN :trackedTag)
- WHEN -1 = :trackedTag THEN (SELECT * FROM query WHERE t.id NOT IN :ignoredTag)
- WHEN -1 = :inignoredTag AND -1 = :trackedTag (SELECT * FROM query)
- ELSE (SELECT * FROM query WHERE t.id NOT IN :ignoredTag AND qht.tag_id IN :trackedTag)
- END
Add Comment
Please, Sign In to add comment