I think you have missed the point.
Each table represents an information entity.
Your example suggests 2 obvious entities:
User
Request
Your User table would include the standard user info: name, id, etc.
Each User could make 0 to any number of requests. The User-Request relationship is 1 to many (each request has 1 user, each user 0 - N requests)
Your Request table could consist of no more than a User ID and a description column.
You suggest additional request attributes:
type -- (housepainting, plumbing?, cleaning? etc??)
repeating (each year, not each year?)
requeststart/requeststop (1 month?, 1 year?, etc?)
location (zip code?)
Other attributes seem likely, but I don't know your data, example: price range, etc.
Assuming you created a table with these attributes, you could easily find:
all non-repeating housepainting currently available (example
NOW() BETWEEN
requeststart AND requeststop)
in zip code 11111
Each request would be very different (description text would vary).
Each request would be associated with a user. A user might have several requests.
You haven't said so, but another likely entity would be RequestResponse.
In this case a User woujld respond to a request.
RespondingUserId
RequestId
ResponseText
One request, 0-N responses
One responder, 0-N responses
etc.
Hope this helps, or maybe your question is different???