Wednesday, August 12, 2020

SQL - To Join Two Tables Without using Primary key

--Create Table

CREATE TABLE [dbo].[TblA](a_id INT, c1 INT);

GO

INSERT INTO [dbo].[TblA](a_id,c1)

VALUES(1,345),(2,132);

GO

CREATE TABLE [dbo].[TblB](b_id INT, c2 INT);

GO

INSERT INTO [dbo].[TblB](b_id,c2)

VALUES(1,245),(2,456);

GO

 

--Solution 1

SELECT Distinct *

FROM [dbo].[TblA]

INNER JOIN [dbo].[TblB]

ON ([dbo].[TblA].a_id = [dbo].[TblB].b_id)

 

--Solution 2

SELECT *

FROM [dbo].[TblA] a, [dbo].[TblB] b

WHERE a.a_id = b.b_id

 

 

--Solution 3

SELECT * FROM [dbo].[TblA]

UNION ALL

SELECT * FROM [dbo].[TblB]

 

--Solution 4

DECLARE @some_value INT = 0;

SELECT *

  FROM [dbo].[TblA] AS A

  JOIN [dbo].[TblB] AS B

    ON @some_value = 2;

 

DECLARE @some_value INT = 2;

SELECT *

  FROM [dbo].[TblA] AS A

  JOIN [dbo].[TblB] AS B

    ON @some_value = 2;

  

 

No comments:

Post a Comment