簡體   English   中英

SQl 查詢檢索數據

[英]SQl Query to retrieve data

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

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 是 boolean 列。 我在這里只想顯示 show_bill 設置為 1 的企業的“名稱”。

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 )

由於子查詢返回多行,因此不能使用相等運算符

只需在 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 )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM