Получить связанные данные строковых значений в переменной

Я разорву эту новость вам. Вы НЕ МОЖЕТЕ послать электронное письмо с помощью JavaScript как такового.


Исходя из контекста вопроса OP, мой ответ выше не выдерживает больше, как указано в комментариях @KennyEvitt. Похоже, вы можете использовать JavaScript в качестве SMTP-клиента .

Однако я еще не углублялся, чтобы узнать, безопасно ли оно и amp; совместим с кросс-браузером. Поэтому я не могу ни поощрять, ни препятствовать вам использовать его. Используйте на свой страх и риск.

0
задан marc_s 13 July 2018 в 12:44
поделиться

3 ответа

Присоедините table_1 до table20, чтобы получить идентификаторы проектов. Затем присоединитесь к table_2, чтобы получить идентификаторы связанных проектов. Наконец, присоединитесь к table_1, чтобы получить имена связанных проектов.

SELECT @RelatedProjects = (SELECT t1b.project + ';'
                                  FROM table20 t20
                                       LEFT JOIN table_1 t1a
                                                 ON t1a.project = t20.project_title
                                       LEFT JOIN table_2 t2
                                                 ON t2.id = t1a.id
                                       LEFT JOIN table_1 t1b
                                                 ON t1b.id = t2.related_project
                           FOR XML PATH(''));

(работает только надёжно, если table_1.project уникальна. Подумайте о том, чтобы сохранить проекты в table20 по их идентификаторам, а не по их имя.)

1
ответ дан sticky bit 17 August 2018 в 13:08
поделиться

Я думаю, что это то, что вы хотите

Select p.Project, p1.Project as RelatedProject
from Table_1 p 
join Table_2 a on p.Id = a.id
join Table_1 p1 on p1.Id = a.RelatedProject_ID
0
ответ дан Ajay Gupta 17 August 2018 в 13:08
поделиться

проверьте этот пример ниже:

declare @projects varchar(max) = 'Project1;Project2;Project3'

Declare @table_1 table
     (Id int ,
      project varchar(15))

Insert @table_1 values (001, 'project1')
Insert @table_1 values (002, 'project2')
Insert @table_1 values (003, 'project3')
Insert @table_1 values (035, 'project35')
Insert @table_1 values (036, 'project36')
Insert @table_1 values (037, 'project37')

Declare @table_2 table
     (Id int ,
      RelatedProject_ID  int)

Insert @table_2 values (001, 035)
Insert @table_2 values (002, 036)
Insert @table_2 values (003, 037)
Insert @table_2 values (004, 038)
Insert @table_2 values (005, 039)

;with cte as (
    SELECT LTRIM(RTRIM(m.n.value('.[1]','varchar(8000)'))) AS projects
    FROM
    (
    SELECT CAST('<XMLRoot><RowData>' + REPLACE(@projects,';','</RowData><RowData>') + '</RowData></XMLRoot>' AS XML) AS x
    )t
    CROSS APPLY x.nodes('/XMLRoot/RowData')m(n)
 )


 select t1m.project
 from @table_1 t1
 join @table_2 t2 on t2.id=t1.id
 join @table_1 t1m on t1m.id=t2.RelatedProject_ID
 join cte cte on t1.project=cte.projects

DEMO

1
ответ дан Mani Deep 17 August 2018 в 13:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: