0

我有 2 张桌子。一个是Product_Colors..另一个是桥表Product_Colors_Bridge..桥表只包含ProductID和ColorID..

我需要一个存储过程,它可以带回所有颜色并将“选定”字段添加到语句中。

表格
产品_颜色 ID、颜色

Product_Colors_Bridge ID、ProductID、ColorID

ColorID 参考 Product_Colors.ID

Ideal Result
ID, Color, ProductID, ColorID, Selected(此字段必须使用 SQL 添加)

其中 Selected 字段值为 TRUE 或 FALSE...

4

1 回答 1

0

好吧,在不了解您的数据库的情况下,标准 SQL 查询(不是存储过程)可能如下所示:

SELECT
Color,
ProductID,
ColorID,
CASE WHEN ProductID IS NULL THEN FALSE ELSE TRUE END AS SELECTED
FROM
PRODUCT_COLORS C LEFT OUTER JOIN PRODUCT_COLORS_BRIDGE PC ON PC.COLORID=C.ID

使用左外连接保留所有左表记录(颜色),然后直接在 select 子句中检查数据库中是否存在对应的颜色/产品以返回“选定”值。

希望这可以帮助!

于 2013-05-03T14:14:25.057 回答