我有两个表File,FileTypes

对于我要在具有内部文件路径和外部文件路径的单个行中获取客户端文件的所有客户端,文件将保存内部和外部两种文件类型的数据。

以下是元数据

create table filetypes (
  filetypeid int  primary key,
  typename varchar(20)
);

create table files (
  fileid int  primary key,
  filetypeid int,
  fiilepath nvarchar(200),
  client_id int
);

insert into files values (10, 1,'\testpath9\\InternalFoldername', 1);
insert into files values (11, 2,'\testpath2\\ExternalFoldername', 1);
insert into files values (12, 1,'\testpath5\\InternalFoldername', 2);
insert into files values (13, 2,'\testpath6\\ExternalFoldername', 3);


insert into filetypes values (1,'Internal');
insert into filetypes values (2,'External');

我想用SQL来获取如下结果

client_id   InternalPath                   ExternalPath
----------- ------------------------------ ------------------------------
1           \testpath9\\InternalFoldername \testpath2\\ExternalFoldername

#1楼 票数:0

试试这个sql语句,

 select  t1.internal_client as client_id, t1.InternalPath as InternalPath, 
 t2.ExternalPath as ExternalPath from 
 (select  client_id  as internal_client,fiilepath as InternalPath from files where filetypeid=1 ) t1 
 left join
 (select  client_id as external_client, fiilepath  as ExternalPath from files where filetypeid=2 )t2
 on t1.internal_client = t2.external_client 
 where t1.InternalPath IS NOT NULL and t2.ExternalPath IS NOT NULL

  ask by user2212827 translate from so

未解决问题?本站智能推荐:

2回复

使用递归CTE通过条件检查将多行连接为单行

现在,我使用查询更新了第一条记录 现在在表table1插入几条记录 现在,我想用没有重复的更新行来更新table2记录。 在这里,我想连接文本是否不存在,并避免是否存在重复项。 预期结果:我对table2结果的更新应获得预期结果,如下所示 输出:
2回复

将多行卷成具有相同列数和不同值的单行

我有一个 ID 列,其中包含特定属性的不同值。 我希望将 4 行转换为 1 行。 有多条记录 我需要如下输出 - 我设法通过使用 sql 查询达到以下结果,但我不确定如何将这些值汇总为 1 上述查询的输出为 感谢您的帮助。
2回复

多行到单行,多列,最小日期

我有一张看起来像下面的桌子,我想做两件事。 1号 选择Min(EnterDtm)记录,在这种情况下,将为2015-08-25 05:29:44:480。 我还希望有一个记录行,该行具有身高英尺,身高英寸和体重kg作为新列名,而每个新列的下面是ObsText 我希望它看起来像这样
1回复

如何从单行中获取多行以获取单个select语句中某些字符分隔的数据

在SQL Server 2008或更高版本中,如何从单行中获取唯一的多行数据,这些数据在单选择查询中由某些字符分隔而没有拆分功能。 范例 :
1回复

如何在SQL中将单行拆分为多行

我有一个表如下所示..它有多个列用于不同的延迟 我想输出一个表,将每行分成多行,如下所示 ..... 现在,我正在做的是这个 ......等等 这是非常低效的性能,因为我正在为每个select语句执行表扫描...当这个表很大时,查询需要很长时间... 有
1回复

使用SQL将单行拆分为多行

我试图从单行生成多行,并能够使用下面的SQL做到这一点。 但是我想知道是否有更好的方法来编写此SQL,因为它很长且不能应用于实时方案。 谢谢。 注意:-我的查询将返回所需的输出,但这不是解决问题的有效方法。 我的实际输入有更多列,我不想写“ n”号。 SQL查询,并对所有查询执行U
2回复

将 case 条件放在 SQL Server 中从数据库表的多行中找到正确值的有效方法

我几乎不需要帮助来简化具有不同值的多个不同行的数据。 我需要根据不同的值应用CASE条件,以便提取正确的单个数据集行。 样本核心表名: Employee 在DEPT_code我想应用CASE条件以在一行中生成输出 如果多个Dept_code中的至少一个具有 'X',则value = 'A
1回复

基于SQL Server条件的多行串联

考虑一个包含如下数据的表, 我需要如下输出。 如何在SQL Server 2012