Reputation: 65
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| PersonId | int |
| FirstName | varchar |
| LastName | varchar |
+-------------+---------+
PersonId
is the primary key column for this table.
+-------------+---------+
| 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.
Upvotes: 1
Views: 3574
Reputation: 328
MySQL query
SELECT Person.FirstName, Person.LastName, Address.City, Address.State
FROM Person
LEFT JOIN Address
ON Person.PersonId=Address.PersonId;
Upvotes: 0
Reputation: 142705
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
Upvotes: 2