How to display data from table 1 separately, and combined with matching rows from table 2
Your question is a little confusing (in particular around the joins), does this look something like what you are looking for?

CREATE TABLE T1 (i1 INT, x CHAR(1));
CREATE TABLE T2 (i2 INT, c1 INT, c2 CHAR(1));

INSERT INTO T1 (i1, x) VALUES
(1,'a'),
(2,'b'),
(3,'c'),
(4,'d');

INSERT INTO T2 (i2, c1, c2) VALUES
(1,1,''),
(2,2,'g'),
(3,3,'h'),
(4,3,'i');
GO

CREATE VIEW TestView 
AS
WITH cteInitialSet AS (
    SELECT i1, NULL AS i2, x, NULL AS c1, NULL AS c2 FROM dbo.T1
    UNION ALL
    SELECT T1.i1, T2.i2, T1.x, T2.c1, T2.c2 
    FROM dbo.T1
        JOIN dbo.T2 ON T1.i1 = T2.c1
        )

SELECT ROW_NUMBER() OVER (ORDER BY i1, i2) AS i,
    i1 ,
    i2 ,
    x ,
    c1 ,
    c2
FROM cteInitialSet
GO

SELECT * FROM dbo.TestView;