"У вас є риба?"
Translation:Do you have fish?
I typed "Do you have a fish?" Not accepted. Does this sentence only refer to "fishes?"
Риба is a non-count noun meaning "fish." If you want to talk about individual fish, there is another word, рибина. (This is not unusual for non-count nouns, for example цибуля -> цибулина, морква -> морквина.)
Why is риба correct and рибу is wrong? Shouldn't fish be in the accusative case, as in "я люблю риву"?
No. This is a construction—a very common construction—that literally means "at me there is." If you notice, the pronouns isn't ви as it would be in Ви любите рибу, but вас, which is in the genitive. The logical object in English is actually the subject of the sentence here (Are fish at you?) and must be in the nominative.
But don't despair! This is actually a great device for whenever you're not sure of a noun's conjugation. With У мене/тебе/вас/etc. є, it never changes.