2011-01-07 96 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