我想获得一个有效的方式做下面的存储过程。此过程将显示属于所有类别市场中企业的汽车数量。有效的SQL存储过程与连接和不同
我有类别表是主要选择,然后我进入汽车表来计算汽车并在类别内加入他们的业务,这里是真正效率低下的地方我然后检查选定的市场/地点或没有选择所有市场。这里是。
Create PROC [USP_CAT]
@MKT int
AS
BEGIN
SELECT *,
(
SELECT COUNT(CAR_ID)
FROM CARS
INNER JOIN BUSINESS ON CAR_BIZ=BIZ_ID
JOIN BIZCATS ON BC_BIZ = BIZ_ID AND BC_CAT = CAT_ID
WHERE BIZ_APPROVED = 1 AND BIZ_EXPIRES >= getDate() AND
(
SELECT COUNT(BLOC_MKT)
FROM BIZLOCS
WHERE BIZ_ID = BLOC_BIZ AND (BLOC_MKT = @MKT OR @MKT = -1)
)>0
) AS CAT_CAR_COUNT
FROM CATS
WHERE CAT_HIDE = 0
ORDER BY CAT_ORDER asc
END
任何建议来整理这是非常赞赏。
如果您发布了DDL,一些示例插入以及您期望的结果,您将获得更好的结果。 – granadaCoder 2014-09-10 12:58:02