Skip to content
Advertisement

Using Two Tables to give one output

Table: Person

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+

PersonId is the primary key column for this table.

Table: Address

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| AddressId   | int     |
| PersonId    | int     |
| City        | varchar |
| State       | varchar |
+-------------+---------+

AddressId is the primary key column for this table.

Write a SQL query for a report that provides the following information for each person in the Person table, regardless if there is an address for each of those people:

FirstName, LastName, City, State

So this is a pretty straight forward question and my answer is

select p.FirstName,p.LastName, a.City, a.State
from Person p , Address a
where p.PersonId = a.PersonId

And I’m not getting anything in the output and yes I filled up the tables with some simple lines of data.

Advertisement

Answer

Sample data would help, but – the way you described it, it looks as if you need outer join. Something like this:

select p.FirstName, p.LastName, a.City, a.State
from Person p left join Address a on a.personid = p.personid
User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement