2017-04-18 87 views
0

你能帮助我吗?加入查询关系数据

样本数据:

enter image description here

说明:

TableA is =IDAPK, No Urut(L1), No Tampil (L1), Text Faktor (L1) 

    TableB is =IDBPK, IDAFK, No Urut(L2), No Tampil (L2), Text Faktor (L2) 

    IDAPK=IDAFK (ForeignKkey) 

你可以加入使得SQL Server查询要像结果上面的图片?我找不到我的逻辑。 谢谢你...

+1

您想要的格式类型可能在您的表示层最好处理。您是否期望使用原始查询来生成该输出,或者您是否使用其他语言? –

+0

我正在使用SQL Server查询... –

+0

您使用的是什么报告工具?或者你只是出口到CSV或其他东西?你到目前为止试过什么样的查询?为什么需要以这种方式呈现 - 是否适合最终用户? –

回答

1

我找到了一种方法来做到这一点。两个query两个table然后Union All那些result。检查下面的SQL:

Select [No Urut(L1)],[No Tampil (L1)],[Text Faktor (L1)],[No Urut(L2)],[No Tampil (L2)],[Text Faktor (L2)] From 
(
    Select IDAPK As ID,1 As SL,[No Urut(L1)],[No Tampil (L1)],[Text Faktor (L1)],'' As [No Urut(L2)],'' As [No Tampil (L2)], '' As [Text Faktor (L2)] From TableA 
     Union All 
    Select IDAFK As ID,2 As SL,'' As [No Urut(L1)],'' As [No Tampil (L1)],'' As [Text Faktor (L1)],[No Urut(L2)],[No Tampil (L2)],[Text Faktor (L2)] From TableB 
) As TableAB Order By ID, SL 

输出的SQL:

enter image description here

+0

您还需要添加一个'order by',因为没有order by –

+0

bro IDAPK is belong TableA not TableB .. TableB is IDAFK ..谢谢你@csharpbd –

+0

好工作兄弟..谢谢你... @csharpbd –

0

此查询使用INNER JOIN所以它返回具有两个表中的匹配值的记录。

SELECT TableA.[No Urut(L1)], TableA.[No Tampil (L1)], TableA.[Text Faktor (L1)], TableB.[No Urut(L2)], TableB.[No Tampil (L2)], TableB.[Text Faktor (L2)] 
FROM TableA 
INNER JOIN TableB ON TableA.IDPK=TableB.IDFK;