繁体   English   中英

从sql查询中排除外键

[英]Exclude foreign keys from sql query

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM