SQL 组合两个不同的表



(P.S.我还在学习SQL,你可以把我当新手(

我有 2 个示例表,如下所示:

表1

|Profile_ID|  |Img_Path|

表2

|Profile_ID|  |UName|   |Default_Title|

的情况是,从第二个表中,我需要获取包含某个单词的所有记录,对此我有以下查询:

Select Profile_Id,UName from 
Table2 Where 
Contains(Default_Title, 'Test')
ORDER BY Profile_Id
OFFSET 5 ROWS
FETCH NEXT 20 ROWS ONLY

(请注意,由于要求,我正在设置OFFSET

现在,情况是,一旦我从

第二个表中检索 1 条记录,我就需要根据Profile_Id从第一个表中获取记录。

因此,我需要在一个语句中返回以下 2 个结果:

|Profile_Id|   |Img_Path|
|Profile_Id|   |UName|

我需要在并排列中返回结果,例如:

|Profile_Id|   |Img_Path|   |UName|

(注意我必须将 2 Profile_Id列合并为一列,因为它们都包含相同的数据(

仍在学习SQL,我正在学习UnionJoin等,但我有点困惑该走哪条路。

您可以使用

join

select t1.*, t2.UName
from table1 t1 join
     (select Profile_Id, UName
      from Table2
      where Contains(Default_Title, 'Test')
      order by Profile_Id
      offset 5 rows fetch next 20 rows only
     ) t2
     on t2.profile_id = t1.profile_id
SELECT a.Profile_Id, a.Img_Path, b.UName
FROM table1 a INNER JOIN table2 b ON a.Profile_Id=b.Profile_Id
WHERE b.Default_Title = 'Test'

相关内容

  • 没有找到相关文章

最新更新