2011-01-07 98 views
0

我是一個SQL新手。抱歉。 我有3個表格:服務,城市,city_services。我需要從city_services表中獲得在給定城市中可用的所有服務(使用city_id),但也希望從服務表中獲取服務名稱 - 全部在一個語句中。我知道我可以嵌套2語句和2 while循環(PHP),但這似乎效率低下。SQL連接還是什麼?

我需要一個JOIN或嵌套的SQL語句嗎?我無法把頭繞在這裏。

任何幫助或指向正確的方向將是偉大的!

感謝。

sndwg

回答

2

是的,使用連接。例如:

SELECT service.name, city_service.id 
FROM City_Services AS city_service 
INNER JOIN Services As service ON city_service.service_id = service.service_id 
WHERE city_service.city_id = ? 

(。如何指定city_id將取決於你的數據庫,以及如何你訪問它在我假設你正在使用未命名參數一個參數化查詢上面的例子)

+0

嗨,感謝您指點我在正確的方向。我不知道你可以使用一個加入的where子句,因爲沒有互聯網上的例子顯示.... 這個查詢做的伎倆... SELECT a.service_id,b.service_name FROM city_services AS a INNER JOIN服務as b ON a.service_id = b.service_id WHERE a.city_id = x – drav 2011-01-07 16:48:08