I want to get some results via query simillar to:
SELECT
* FROM
users LEFT JOIN
IF (users.type = \'1\', \'private\',\'company\') AS details ON
SELECT
users.*,
details.info,
CASE users.type WHEN '1' THEN 'private' ELSE 'company' END AS user_type
FROM
users
INNER JOIN (
SELECT user_id, info FROM private
UNION
SELECT user_id, info FROM company
) AS details ON details.user_id = users.id
EDIT: Original version of the answer (question misunderstood):
SELECT
*,
CASE type WHEN '1' THEN 'private' ELSE 'company' END AS details
FROM
users
WHERE
users.id = 1