/ / LEFT JOIN com colunas de identificação para todas as tabelas unidas - mysql, sql, json, join, left-join

LEFT JOIN com colunas de id para todas as tabelas unidas - mysql, sql, json, join, left-join

Eu tenho duas tabelas às quais estou aplicando uma associação. A tabela A possui uma chave estrangeira que referencia linhas da tabela B. O SQL é o seguinte:

SELECT *
FROM TableA AS a
LEFT JOIN TableB AS b ON a.id = b.tableAId
WHERE a.ownerId = X

Estou obtendo o resultado desejado, exceto por uma coisa. Ou seja, ao retornar as linhas em JSON, apenas uma coluna de ID é mostrada (TabelaB).

Em vez disso, quero poder retornar todas as colunas de identificação no JSON, onde colunas duplicadas teriam um número anexado a ele. Por exemplo: id, id1, id2, id3 etc ...

Respostas:

1 para resposta № 1

Você precisa especificar as colunas que deseja, dando explicitamente aliases para que os nomes sejam diferentes. Algo assim:

SELECT a.*, b.id as b_id
FROM TableA a LEFT JOIN
TableB b
ON a.id = b.tableAId
WHERE a.ownerId = X;