Author |
Topic |
khartoum
Starting Member
5 Posts |
Posted - 2012-12-17 : 17:12:04
|
I need to join data from tables existing in 2 databases on 2 different servers. I have successfully added the second SQL server (2005) in Server Objects/Linked Servers. Now I receive the message "Msg 4104, Level 16, State 1, Line 1The multi-part identifier "sql.tracking.dbo.confirmmaster.jobnumber" could not be bound."Here is my query:SELECT [sql].tracking.dbo.confirmmaster.jobnumber, [sql].tracking.dbo.confirmmaster.partnumber, [sql].tracking.dbo.confirmmaster.scfid, [sql].tracking.dbo.confirmmaster.days, [sql].tracking.dbo.jobmaster.mastervalidate, [sql2005_1].fp_vticket.dbo.vt_mailingpart.vt_folder_id, [sql2005_01].fp_vticket.dbo.vt_mailingpart.vt_mail_class3FROM [sql].tracking.dbo.jobmaster JOIN [sql].tracking.dbo.confirmmasterON [sql].tracking.dbo.confirmmaster.jobnumber = [sql].tracking.dbo.jobmaster.jobnumber INNER JOIN [SQL2005_01].fp_vticketON [sql2005_01].fp_vticket.dbo.vt_mailingpart.vt_folder_id = [sql].tracking.dbo.jobmaster.jobnumberwhere [sql].tracking.dbo.jobmaster.jobnumber > '40034' and [sql].tracking.dbo.confirmmaster.scfid = '700' and [sql].tracking.dbo.confirmmaster.days is not nullCan anybody help with this? Thanks! |
|
tkizer
Almighty SQL Goddess
38200 Posts |
|
khartoum
Starting Member
5 Posts |
Posted - 2012-12-19 : 10:58:53
|
Thank you for that. But, I posted this to the "New to SQL Server Programming" because I am just that. As such, I am unable apply the answer to my problem. I wonder if anyone could be a bit more specific by including an example using my code. Thank you in advance! |
|
|
tkizer
Almighty SQL Goddess
38200 Posts |
|
khartoum
Starting Member
5 Posts |
Posted - 2012-12-19 : 17:52:06
|
I think I'm making some progress, but still have these errors:Msg 4104, Level 16, State 1, Line 1The multi-part identifier "sql.tracking.dbo.jobnumber" could not be bound.Msg 4104, Level 16, State 1, Line 1The multi-part identifier "sql.tracking.dbo.confirmmaster.jobnumber" could not be bound.Msg 208, Level 16, State 1, Line 1Invalid object name 'vt_mailingpart.vt_folder_id'.My new query is:SELECT cm.jobnumber,cm.partnumber,cm.scfid,cm.days,jm.mastervalidate,mp.vt_mail_class_3,mp.vt_folder_idFROM [sql].[tracking].dbo.jobmaster jmJOIN [sql].[tracking].dbo.confirmmaster cmON [sql].[tracking].dbo.jobnumber = [sql].[tracking].dbo.confirmmaster.jobnumberJOIN vt_mailingpart.vt_folder_id mpON mp.vt_folder_id = [sql].tracking.dbo.jobmaster.jobnumberJOIN [sql].[tracking].dbo.jobmaster jmON [sql].tracking.dbo.confirmaster.jobnumber = [sql].tracking.dbo.jobmaster.jobnumber WHERE cm.jobnumber > '40000' Since I am using a linked server, am I correct in thinking that I must use the full path "[sql].[tracking].dbo.jobmaster jm" for example?Thanks again! |
|
|
tkizer
Almighty SQL Goddess
38200 Posts |
|
tkizer
Almighty SQL Goddess
38200 Posts |
|
khtan
In (Som, Ni, Yak)
17689 Posts |
Posted - 2012-12-19 : 23:10:07
|
[code]SELECT cm.jobnumber, cm.partnumber, cm.scfid, cm.days, jm.mastervalidate, mp.vt_mail_class_3, mp.vt_folder_idFROM [sql].[tracking].dbo.jobmaster jmJOIN [sql].[tracking].dbo.confirmmaster cmON jm.jobnumber = cm.jobnumberJOIN vt_mailingpart.vt_folder_id mpON mp.vt_folder_id = jm.jobnumberJOIN [sql].[tracking].dbo.jobmaster jmON cm.jobnumber = jm.jobnumberWHERE cm.jobnumber > '40000'[/code] KH[spoiler]Time is always against us[/spoiler] |
|
|
khartoum
Starting Member
5 Posts |
Posted - 2012-12-20 : 14:21:05
|
Getting closer. I had to add the full path on line 11 . . SELECT cm.jobnumber, cm.partnumber, cm.scfid, cm.days, jm.mastervalidate, mp.vt_mail_class_3, mp.vt_folder_idFROM [sql].[tracking].dbo.jobmaster jmJOIN [sql].[tracking].dbo.confirmmaster cmON jm.jobnumber = cm.jobnumberJOIN [sql2005_01].fp_vticket.dbo.vt_mailingpart.vt_folder_id mpON mp.vt_folder_id = jm.jobnumberJOIN [sql].[tracking].dbo.jobmaster jmON cm.jobnumber = cm.jobnumberWHERE cm.jobnumber > '40000'. . . which, of course causes this error:Msg 117, Level 15, State 1, Line 11The object name 'sql2005_01.fp_vticket.dbo.vt_mailingpart.vt_folder_id' contains more than the maximum number of prefixes. The maximum is 3.Looking online for a solution. Thank you for your help with this. This is a great forum! |
|
|
tkizer
Almighty SQL Goddess
38200 Posts |
|
khartoum
Starting Member
5 Posts |
Posted - 2012-12-20 : 15:24:26
|
Got it! Here is the query that worked:SELECT distinct cm.jobnumber, cm.partnumber, cm.scfid, cm.days, jm.jobnumber, jm.mastervalidate, mp.vt_mail_class_3, mp.vt_folder_idFROM [sql].[tracking].dbo.jobmaster jmJOIN [sql].[tracking].dbo.confirmmaster cmON jm.jobnumber = cm.jobnumberJOIN [sql2005_01].fp_vticket.dbo.vt_mailingpart mpON mp.vt_folder_id = jm.jobnumberWHERE cm.jobnumber > '40000' and mp.vt_mail_class_3 = 'standard' and cm.days is not nullThank you so much for taking the time to help me with this! |
|
|
tkizer
Almighty SQL Goddess
38200 Posts |
|
|