这是我的问题:我有一封电子邮件,其中包含消息。我试图将其包含在我的电子邮件中。
IF @StoreID > 1
BEGIN
SELECT
@message = 'ID' + StoreName
FROM
db.Stores
WHERE
StoreName = StoreID
AND StoreID = @StoreID
当我执行代码时,它会找到正确的存储,但是会说
将varchar值'MK'转换为数据类型int时转换失败。
@StoreID
是一种int
数据类型,与StoreID
中的StoreOrders
我有两个表StoreOrders
和Stores
。
我需要将@StoreID
转换为Stores
中的名称,以便电子邮件出去时显示“ ID:'MK'”或任何ID。我计划有20个以上的ID,然后随着时间的流逝我们将添加新的ID,所以我不想对其进行大小写或硬编码。
我不想将“ MK”转换为int。我想在电子邮件中显示“ MK”。
答案 0 :(得分:1)
根据您对架构的解释,我猜您正在沿着这些思路寻找东西,而这是通过将两个表连接起来而得到的。
SELECT
@message = 'ID' + s.StoreName + '<data points from StoreOrders table, probably>'
FROM
dbo.StoreOrders AS ord
JOIN
dbo.Stores AS s
ON
s.StoreID = ord.StoreID
WHERE
s.StoreID = @StoreID;