【发布时间】:2017-11-30 17:18:29
【问题描述】:
我有 4 个表,detail_table、adders_table、form_table 和 summary_table 前 3 个表有一个公共列piece_ID,但第 4 个表 summary_table 没有 Piece_ID 列,而是具有 ID 列,该列仅存在于详细表中,而不存在于地址和表单表中 现在有什么办法可以将所有这 4 个表连接在一起吗?
(我已经成功加入表格、地址和明细表,只剩下摘要) 以下是包含 3 个表的查询,我从中得到了成功的结果。
Select archive_address.PieceID, archive_adf_detail.Job_ID, prod_code,
seq_number,process_date, seq_queue, addline1, addline2,addline3,addline4,addline5, archive_freeform.free_form1, archive_Free_Form2
from archive_Address join archive_adf_detail
on archive_address.PieceID = archive_adf_detail.F_key
join archive_freeform
on archive_address.PieceID = archive_freeform.PieceID
Where (archive_Address.addline1 like '%Cons%'
or archive_Address.addline2 like '%Cons%' )
and archive_Address.pieceID like '%FB2K%'
order by addline1
我正在使用下面的查询来添加第 4 个表
Select archive_address.PieceID, archive_adf_detail.Job_ID, prod_code, job_summary.Status_Date,
seq_number,process_date, seq_queue, addline1, addline2,addline3,addline4,addline5, archive_freeform.free_form1, archive_freeform.Free_Form2
from archive_Address join archive_adf_detail
on archive_address.PieceID = archive_adf_detail.F_key
join archive_freeform
on archive_address.PieceID = archive_freeform.PieceID
join job_summary
on archive_adf_detail.job_ID = job_summary.job_ID
Where (archive_Address.addline1 like '%Cons%'
or archive_Address.addline2 like '%Cons%' )
and archive_Address.pieceID like '%FB2K%'
order by addline1
执行上述操作后,我收到以下错误:
Msg 207, Level 16, State 1, Line 8
Invalid column name 'jobID'.
Msg 209, Level 16, State 1, Line 1
Ambiguous column name 'prod_code'.
Msg 209, Level 16, State 1, Line 2
Ambiguous column name 'seq_number'.
Msg 209, Level 16, State 1, Line 2
Ambiguous column name 'process_date'.
Msg 207, Level 16, State 1, Line 2
Invalid column name 'archive_Free_Form2'.
如果我使用了不正确的语法或无法像这样加入第四张桌子,请纠正我 谢谢!
【问题讨论】:
-
是的。 . .使用公共列连接表。
-
但是汇总表没有一个公共列,它存在于其余 3 中,而是它有一个列仅存在于明细表中而不存在于其他 2 中,我在加入第 4 个表时遇到错误(汇总表)
-
请通过添加错误消息来编辑您的问题。还要指定您的数据库引擎。
-
正如 Gordon 所说,您应该能够在 ID 上加入 detail_table 和 summary_table
-
感谢您的回复我已经用我正在使用的查询更新了我的问题,如果我没有使用正确的方法,请纠正我。
标签: sql sql-server join