database design – MySQL – The value of the column depends on the values ​​of two different tables

I have a MySQL database that contains these tables (* indicates the primary key):

TableA:

----------------------------------------------
|  *id  |  time  |  price  |  special_price  |
----------------------------------------------

TableB:

-------------------------------------
|  *table_a_id  |  *date  |  price  |
-------------------------------------

SpecialDate:

--------------------------
|  *date  |  description |
--------------------------

The value of TableB.price column of each entry in TableB will be either TableA.price or TableA.special_price correspondent TableA entry, as TableB.date is a special date or not (whether it's TableB.date exists in the SpecialDate table).

This design, in its current form, does not seem appropriate to me, because every time I add a recording to TableB, I have to look for the date of SpecialDate to see if it is a special date or not, look for the corresponding entry in TableA to get the value for the price column. And each time a record of SpecialDate is added or updated, I have to go through each entry in TableB update its price column.

I think the column TableB.price should be removed and calculated when needed, but I do not know how to do that with SQL. I have a lot of points of view that depend on that price column, for example:

TableAFullView:

-----------------------------------------------------------------------------
|  id  |  time  |  count_of_table_b_instances  |  sum_of_table_b_instances  |
-----------------------------------------------------------------------------

Or count_of_table_b_instances is the number of TableB the entries that point to this TableA entrance and sum_of_table_b_instances is the sum of their prices.

With my original design, this view is simple to implement and works well. But if I get rid of the column TableB.price, how could I implement this view? Will the performance take a hit?

Note: Do not hesitate to edit the title because I do not know how to best describe this problem.