2011-06-08 140 views
1

我無法弄清楚如何從我的表中獲取所需的數據。這是我寫的顯示錯誤說子查詢返回多行查詢..SQl查詢檢索數據

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

回答

0
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

我的不好!有效。謝謝,那是我犯的一個愚蠢的錯誤 – Varun 2011-06-08 03:25:09

0

由於子查詢返回多行的業務顯示「名稱」,則不能使用相等運算符

剛在您的where子句中將=更改爲IN:

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)