sqlsubquerymultiple-columns

Using subselect to accomplish LEFT JOIN


Is is possible to accomplish the equivalent of a LEFT JOIN with subselect where multiple columns are required. Here's what I mean.

SELECT m.*, (SELECT * FROM model WHERE id = m.id LIMIT 1) AS models FROM make m

As it stands now doing this gives me a 'Operand should contain 1 column(s)' error.

Yes I know this is possible with LEFT JOIN, but I was told it was possible with subselect to I'm curious as to how it's done.


Solution

  • A subselect can only have one column returned from it, so you would need one subselect for each column that you would want returned from the model table.