我确定有办法解决这个问题,但我不知道了......
我有一张包含所有数据的大表。
在table I
的行中包含以下信息:
columnA1: groupName
columnA2: groupID
ColumnB3: name
columnB4: groupID
现在我需要显示如下结果:
[columnB3],[columnA1]
更多信息(因为我没有足够的声誉,我无法上传图片......):
我的表格:
groupId - groupName - name - groupId2 - category
1 - IT - null - null - 2
2 - HR - null - null - 2
null - null - Paul - 1 - 1
null - null - Bob - 1 - 1
null - null - An - 2 - 1
null - null - Apple - null - 3
null - null - Microsift - null - 3
查询结果:
name groupName
Paul IT
Bob IT
An HR
如果我选择了所有结果,我会获得65k
行。那么我怎样才能防止我需要对每一行进行查询以获得正确的groupName而不是groupId2?
我以为我可以"保存"第一个查询,包含所有groupID&group和名称,并使用此信息在第二个查询中将groupID更改为groupName但我不知道如何...
如果不清楚,请问。
编辑:只需要category = 1
的行答案 0 :(得分:0)
试试这个:
SELECT T2.name,T1.groupName
FROM Table1 T1 INNER JOIN
Table1 T2 on T1.groupID=T2.groupId2
WHERE T2.category=1
结果:
NAME GROUPNAME
Paul IT
Bob IT
An HR
请参阅SQL Fiddle
中的结果答案 1 :(得分:0)
SELECT DISTINCT A.Groupname, B.name
FROM tablename A
JOIN tablename B ON A.GroupID = B.GroupID