SELECT
T1.*,
(SELECT T2.PartName+','
FROM wf_work_items T2
WHERE T1.ProcID=T2.ProcID
FOR XML PATH('')
) as PartName ,
(SELECT T2.PartDeptName+''
FROM wf_work_items T2
WHERE T1.ProcID=T2.ProcID
FOR XML PATH('')
) as PartDeptName
FROM Con_Contract T1
是这样的 我有两张表 然后一对多之后生成了一条语句 然后我现在想查询PartName 和 PartDeptName 应该怎么写 求解~~
T _ T
11 个解决方案
#1
SELECT
T1.*,
T2.PartName,
T2.PartDeptName
FROM Con_Contract T1
join wf_work_items T2 on T1.ProcID=T2.ProcID
#2
哥 这种简单的内联 有一个问题就在于会生成很多很多重复的数据 我要的是T1 的主键 对应 T2的PartName(多个数据对应一一个主键) 和PartDeptName
但只能生成一条 如图:
现在我已经查出来了 就想怎么实现着PartName 和 PartDeptName两个的查询
#3
最外层的 SELECT 后面加个 DISTINCT 关键字就可以了。
#4
[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/3.gif]
[/img] 只能说 你还是太图样了。。。
功能是这样 我有两张表 一张表数据多 一张表数据少
table1 table2
T1 T2
a a
b a
a
b
b
我想查出来table1的数据只有一条 但对应的table2的数据要全部显示
比如说 t1的a对应t2的aaa 这样的一条语句
我查出来的数据是这样的 我只想知道怎么查询
#5
你把 #2的数据和代码贴出来,看我来DISTINCT。
#6
CREATE TABLE #T1
(
T1 int primary key
)
INSERT INTO #T1 VALUES(1),(2)
CREATE TABLE #T2
(
Tpname VARCHAR(20),
Tpdname VARCHAR(20)
)
INSERT INTO #T2 VALUES('1','c'),('1','c'),('1','c'),('1','c'),('2','d'),('2','d'),('2','d'),('2','d')
#7
别扯蛋!
我说 DISTINCT 的时候还只有 #2 的代码和数据。
我说 DISTINCT 的时候还只有 #2 的代码和数据。
#8
什么鬼 觉得你没懂我的意思 你看图 我查出来的数据 是一个主键对应多个名字 和部门的
而且 我现在只要查询
你如果查询了出来 贴代码 好不?
#9
select * from ( SELECT
T1.BaseContractId,
(SELECT T2.PartName+','
FROM wf_work_items T2
WHERE T1.ProcID=T2.ProcID
FOR XML PATH('')
) as PartName ,
(SELECT T2.PartDeptName+''
FROM wf_work_items T2
WHERE T1.ProcID=T2.ProcID
FOR XML PATH('')
) as PartDeptName
FROM Con_Contract T1) T1 where T1.PartName like '%王%' and T1.PartDeptName like '%道%'
我自己搞定了~~
#10
原来这不是你的查询和结果啊
和你比起来我得普通人正是 TOO YOUNG TOO SIMPLE 了
#11
原来这不是你的查询和结果啊
这样异次元的表达方式果然 TOO DECREPIT TOO GUILE
和你比起来我得普通人正是 TOO YOUNG TOO SIMPLE 了
这样异次元的表达方式果然 TOO DECREPIT TOO GUILE
和你比起来我得普通人正是 TOO YOUNG TOO SIMPLE 了
#1
SELECT
T1.*,
T2.PartName,
T2.PartDeptName
FROM Con_Contract T1
join wf_work_items T2 on T1.ProcID=T2.ProcID
#2
哥 这种简单的内联 有一个问题就在于会生成很多很多重复的数据 我要的是T1 的主键 对应 T2的PartName(多个数据对应一一个主键) 和PartDeptName
但只能生成一条 如图:
现在我已经查出来了 就想怎么实现着PartName 和 PartDeptName两个的查询
#3
最外层的 SELECT 后面加个 DISTINCT 关键字就可以了。
#4
[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/3.gif]
[/img] 只能说 你还是太图样了。。。
功能是这样 我有两张表 一张表数据多 一张表数据少
table1 table2
T1 T2
a a
b a
a
b
b
我想查出来table1的数据只有一条 但对应的table2的数据要全部显示
比如说 t1的a对应t2的aaa 这样的一条语句
我查出来的数据是这样的 我只想知道怎么查询
#5
你把 #2的数据和代码贴出来,看我来DISTINCT。
#6
CREATE TABLE #T1
(
T1 int primary key
)
INSERT INTO #T1 VALUES(1),(2)
CREATE TABLE #T2
(
Tpname VARCHAR(20),
Tpdname VARCHAR(20)
)
INSERT INTO #T2 VALUES('1','c'),('1','c'),('1','c'),('1','c'),('2','d'),('2','d'),('2','d'),('2','d')
#7
别扯蛋!
我说 DISTINCT 的时候还只有 #2 的代码和数据。
我说 DISTINCT 的时候还只有 #2 的代码和数据。
#8
什么鬼 觉得你没懂我的意思 你看图 我查出来的数据 是一个主键对应多个名字 和部门的
而且 我现在只要查询
你如果查询了出来 贴代码 好不?
#9
select * from ( SELECT
T1.BaseContractId,
(SELECT T2.PartName+','
FROM wf_work_items T2
WHERE T1.ProcID=T2.ProcID
FOR XML PATH('')
) as PartName ,
(SELECT T2.PartDeptName+''
FROM wf_work_items T2
WHERE T1.ProcID=T2.ProcID
FOR XML PATH('')
) as PartDeptName
FROM Con_Contract T1) T1 where T1.PartName like '%王%' and T1.PartDeptName like '%道%'
我自己搞定了~~
#10
原来这不是你的查询和结果啊
和你比起来我得普通人正是 TOO YOUNG TOO SIMPLE 了
#11
原来这不是你的查询和结果啊
这样异次元的表达方式果然 TOO DECREPIT TOO GUILE
和你比起来我得普通人正是 TOO YOUNG TOO SIMPLE 了
这样异次元的表达方式果然 TOO DECREPIT TOO GUILE
和你比起来我得普通人正是 TOO YOUNG TOO SIMPLE 了