0

我有一些 sql 将几个表连接在一起

SELECT contact.contact_id,
        form1.*,
        form2.*
FROM contact
INNER JOIN form1
ON contact.contact_id = form1.contact_id
INNER JOIN form2
ON contact_contact_id = form2.contact_id

我想避免在我的输出中重复“contact_id”列,而不必在表中写入每个字段名称(即我想继续使用form1.*form2.*因为这将使报告更易于维护 - 字段可能会更改)。这可能吗?我正在使用 Postgres。

4

2 回答 2

1

唯一的方法是“不要使用 *”。您需要明确输入所需的列。当您使用 JOIN 时,这是一个很好的做法。如果列太多,请使用结果

select column_name from information_schema.columns
where table_name='your table' and column_name<>'contact_id'
于 2012-07-16T10:07:43.320 回答
1

如果contact_id 是表共享的唯一列名,您可以使用“自然连接”来连接表,您最终将只得到一个连接列的副本。

于 2012-07-16T10:08:26.550 回答