MariaDB [testingcampus]> select * from employee;
+-----+--------+-----------+--------+
| EID | Ename | City | salary |
+-----+--------+-----------+--------+
| 100 | smith | Bangalore | 10000 |
| 101 | carl | Bangalore | 12000 |
| 102 | Ram | Chennai | 12000 |
| 103 | pankaj | Hyderabad | 5000 |
| 104 | vikram | Pune | 2000 |
+-----+--------+-----------+--------+
5 rows in set (0.00 sec)
Для приведенной выше таблицы, когда я набрал код ниже, я получаю сообщение об ошибке
MariaDB [testingcampus]> Select eid from employee having ename= "Vikram";
ERROR 1054 (42S22): Unknown column 'ename' in 'having clause'
Это потому, что вам не придется использовать имеющие (используется только для агрегированных функций), вы должны использовать, где, как это:
Select eid
from employee
where ename= "Vikram";
С http://www.mysqltutorial.org/mysql-having.aspx:
Предложение HAVING используется в инструкции SELECT для задания условий фильтрации для группы строк или агрегатов.
Вы не объединяетесь, поэтому попробуйте WHERE
вместо HAVING
.