Соедините запрос из одной БД в другую с помощью переменной
Здравствуйте кодеры, я хочу запустить ниже упомянутый запрос из одной таблицы в другую, также имя таблицы постоянно меняется, я должен объявить их, вот где я застрял.
Пожалуйста, веди меня.
Что я уже пробовал:
DeclArE @LONDATE As chAr(11)='LON20190629' DeclArE @ADVDATE As chAr(11)='ADV20190629' SELECT l.BrCode,l.Code,CONCAT(l.BRCODE,l.CODE,RIGHT('000000'+CAST(l.Acno AS VARCHAR(6)),6)) AS ACNO,c.name,c.PAN,l.CustNo,l.LIMITAMT,l.SECVALUE,(l.ClearBal+l.AccumuInt+l.clgamt) AS BALANCE ,l.NPACode,l.NPADt,l.OverdueAmt,l.UnreserveInt ,l.INTIND7AMT,l.PENALINTIND7AMT,l.AcSts,l.Limit,l.DueInst,l.InstAmt FROM MIS.dbo.@LONDATE l ,MIS.dbo.customer c where l.custno=c.Code and AcSts<>9 AND ClearBal<0 UNION ALL SELECT a.BrCode,a.Code,CONCAT(a.BRCODE,a.CODE,RIGHT('000000'+CAST(a.Acno AS VARCHAR(6)),6)) AS ACNO,c.Name,c.PAN,a.CustNo,a.LIMITAMT,a.SECVALUE,(a.ClearBal+a.AccumuInt+a.clgamt) AS BALANCE,a.NPACode,a.NPADt,a.OverdueAmt,a.UnreserveInt,a.INTIND7AMT,a.PENALINTIND7AMT,a.AcSts,a.Limit,'0' as DueInst,'0' asInstAmt FROM MIS.dbo.@ADVDATE a,MIS.dbo.customer c where a.custno=c.Code and AcSts<>9 AND ClearBal<0
DerekT-P
Я думаю, вам нужно упростить свой запрос, чтобы мы могли видеть, что вы пытаетесь сделать. Название вопроса относится к "Одна БД к другой с использованием переменной", но ваше SQL - соединение включает только одну базу данных: MIS.dbo- где другая база данных?
Я думаю, что ваша проблема заключается в том, что вам нужно объединить две таблицы (или даже получить доступ только к одной из них), но имя таблицы, которое вам нужно запросить, зависит от даты, и поэтому вам нужно параметризовать имя таблицы-это правильно? Пожалуйста, подтвердите, и, если это так, кто-то здесь сможет вам помочь.
Hemil Gandhi
Я получил ответ, хотя спасибо за попытку
Hemil Gandhi
В приведенной выше таблице NPADt-это дата,имеющая три типа данных 0, null или date i.e (20200807). Как показать дату в формате ДД-ММ-гггг??
DerekT-P
Вам лучше всего задать новый вопрос в, ГМ, новом вопросе; тем более, что этот уже помечен как решенный. (Во-первых, другие люди тогда смогут искать и находить решение, если у них есть подобная проблема)