There are a few things wrong here.
1.
First, if you can, use parametrized queries instead of concatenating strings
2.
this part:
Dates='" + dd.ToString("dd-MM-yyyy")
is not guaranteed to work. Or pass a date object through parametrized queries or parse the date of the column to a string with the same format you pass the dd value. In this case dd-MM-yyyy.
3.
I'm not sure you need an inner and outer query and I don't believe this will work. The outer query does not know "Qty".
Doesn't this work?
SELECT Count(Dishes) as qty FROM Temp_Dishes where Dates=@startdate GROUP BY Dishes
Hope this helps.