Help With Subquery! Returns More Than 1 Row
i dont understand the problem with returning multiple rows: here is my table BBC: name region area population gdp Afghanistan South Asia 652225 26000000 Albania Europ
Solution 1:
This is because you are trying to compare region to a table of values. Instead, try using in:
select name
from bbc
where region in
(select region from bbc where name='India'or name='Iran')
Solution 2:
You might have slightly different syntax and it'll work:
SELECT name
FROM bbc
WHERE region IN
(
SELECT region FROM bbc WHERE name='India'OR name='Iran'
)
The only difference being that instead of equals (=), we use IN.
The reason your previous one failed is because to use equals, you compare one value with one other value. What you were accidentally doing is comparing one value with multiple values (the "SubQuery returns more than one row"). The change here is saying where region is within the results returned from the sub query.
Solution 3:
select name,region from bbc where region IN (select region from bbc where name IN('India','Iran'))
Post a Comment for "Help With Subquery! Returns More Than 1 Row"