SQl Query для извлечения данных - PullRequest
1 голос
/ 08 июня 2011

Я не могу понять, как получить необходимые данные из моей таблицы. Запрос, который я написал, показывает ошибку, говорящую, что подзапрос возвращает более одной строки ..

SELECT name  
FROM `business`
WHERE id = (
SELECT business_id
FROM bill 
WHERE id = (
SELECT bill_id
FROM bill_schedule
WHERE show_bill = 1 )

Здесь подзапрос для bill_schedule возвращает более одной строки, где show_bill - логический столбец. Все, что я хочу здесь, это отобразить «имя» из бизнеса, чья show_bill установлена ​​в 1.

Ответы [ 2 ]

0 голосов
/ 08 июня 2011

Поскольку подзапрос возвращает несколько строк, вы не можете использовать оператор равенства

Просто измените = на IN в предложении where:

SELECT name  
FROM `business`
WHERE id IN (
SELECT business_id
FROM bill 
WHERE id IN (
SELECT bill_id
FROM bill_schedule
WHERE show_bill = 1 )
0 голосов
/ 08 июня 2011
SELECT `name`  
FROM `business`
WHERE id in (
SELECT business_id
FROM bill 
WHERE id in (
SELECT bill_id
FROM bill_schedule
WHERE show_bill = 1 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...