从sql查询中排除外键

时间:2012-07-16 10:01:08

标签: sql postgresql

我有一些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。

2 个答案:

答案 0 :(得分:1)

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

select column_name from information_schema.columns
where table_name='your table' and column_name<>'contact_id'

答案 1 :(得分:1)

如果contact_id是表共享的唯一列名,则可以使用“自然连接”来连接表,并且最终只能使用一个连接列的副本。

相关问题