I don't use tables any more, for various good reasons. But here's the basics:
Your table width must be set to 100%. Specify a width for the content column. Don't specify a width for the flexible columns. Use non-breaking spaces in the flexible columns to prevent them from collapsing. If your content column has some complex cell sizes, you may need to nest one or more tables within it to achieve your desired formatting.
Tables aren't pretty in terms of code, they're not easy to code or modify later, they provide poor accessibility and some of the code that you have to use to achieve certain layouts is deprecated in modern HTML standards, so they often fail to validate.