簡體   English   中英

通過聯接從多個表中選擇列

[英]select columns from multiple tables with join

我有兩個桌子:

users (username, business_id, etc.)

businesses (business_id, service_type, latitude, longitude, etc.)

我有以下查詢,可以正常工作:

SELECT username, users.business_id FROM users JOIN businesses 
ON users.business_id = businesses.business_id WHERE service_type = ?

現在,我想在結果中也有“ 企業 ”表中的“ 緯度 ”和“ 經度 ”列。 我怎樣才能做到這一點?

我嘗試執行以下操作,但出現錯誤:

SELECT username, users.business_id, businesses.latitude, businesses.longitude 
FROM users, businesses JOIN businesses 
ON users.business_id = businesses.business_id WHERE service_type = ?

什么是獲得所需結果的正確方法?

您在where部分兩次有業務:

FROM users, businesses JOIN businesses

刪除第一個,應該像之前一樣:

FROM users JOIN businesses

使用顯式聯接語法:

SELECT username, users.business_id, 
       businesses.latitude, businesses.longitude 
FROM users 
JOIN businesses 
   ON users.business_id = businesses.business_id 
WHERE service_type = ?

您正在將隱式與顯式語法混合在一起。 因此, businesses實際上沒有必要在FROM子句中使用, businesses

有一個使用JOIN語法的錯字,請嘗試以下操作:

SELECT users.username, users.business_id, businesses.latitude, businesses.longitude 
FROM users JOIN businesses ON users.business_id = businesses.business_id 
WHERE service_type = ?

暫無
暫無

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

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