'Count occurrences if and only if the id is the largest of all records in sql

I Have this tables in my database

SAVED_QUESTIONS -> CONFIGURATED QUESTIONS
|ID                |
|USERID            |
|ANSWER_SELECTED_ID|

TEXT_QUESTIONS -> ALL QUESTIONS
|TEXT_ID      |
|YEAR         |
|TYPE         |
|CODE         |
|DESCRIPTION  |

QUESTIONS     -> SELECT QUESTIONS
|Q_ID        |
|QUESTIONID  |
|CODE        |

USER_ANSWERS -> USER ANSWERS
|UA_ID      |
|QUESTIONID |
|ANSWERSID  |

ANSWERS           -> ALL ANSWERS
|A_ID            |
|TEXT_ANSWERS_ID |
|DESCRIPTION     |
|CODE            |

I have to count how many lines are in my db for a specific answer to a specific question if the answer id is the highest of all but I expect 0 as a result (in the db the id of answer "X" is smaller than answer "Y", but it always returns n> 0)

SELECT COUNT(*) FROM SAVED_QUESTIONS sq
INNER JOIN TEXT_QUESTIONS tq ON tq.TEXT_ID = sq.QUESTIONID and tq.CODE =‘QUEST_XYZ’
INNER JOIN QUESTIONS q ON q.QUESTIONID = sq.QUESTIONID AND a.CODE = ‘FIRST’
INNER JOIN USER_ANSWERS ua ON ua.QUESTIONID = SQ.QUESTIONID
INNER JOIN ANSWERS a ON a.A_ID = sq.ANSWER_SELECTED_ID AND a.CODE = ‘X’
WHERE sq.USERID = 87 AND a.A_ID IN
(SELECT MAX(_a.A_ID) FROM ANSWERS a_ )

Finally this db situation

ID USERID ANSWER_SELECTED_ID TEXT_ID YEAR TYPE CODE DESCRIPTION Q_ID QUESTIONID CODE UA_ID QUESTIONID ANSWERID A_ID TEXT_ANSWERS_ID DESCRIPTION CODE

1 87 1 1 2022 0 QUEST_XYZ QUESTIONARY 1 1 FIRST 1 1 1 1 1 X TRUE ANSWERS
1 87 1 1 2022 0 QUEST_XYZ QUESTIONARY 1 1 FIRST 1 1 1 2 2 Y FAKE ANSWERS

As can be seen from the db, the second answer has a larger id than the first

sql


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source