2016-10-30 163 views
0

我有两个表,我正在应用连接。表A具有引用行的外键从表B. SQL如下:与所有连接表的ID列进行左连接

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

我得到了想要的结果,除了一两件事。这是在JSON中返回行时,只显示一个id列(TableB)。

相反,我希望能够返回JSON中的所有id列,其中重复列将附加一个数字。例如:id,id1,id2,id3等...

+1

只是给你的列更有用的名字。 – Strawberry

回答

1

您需要指定所需的列,明确给它们使用别名,以便名称不同。像这样:

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

有没有一种方法可以为表b.id定义一个别名并获取所有其他列而不必在select子句中指定它们? – Vince

+0

@Vince。 。 。不,没有,除非你使用动态SQL。 –

+0

我将如何去实现呢?我的sql正在写入一个node.js API – Vince