我可以使用linq easy做到这一点,但我遇到了一种情况,我必须根据表B中的2个字段(minrange,maxrange)创建一个存储过程来返回true或false。因此,目标是从表A,我从表A中选择范围值,并将该值与表B中的2个范围进行比较。如果值在范围内(minrange,maxrange),则返回true。感谢。
答案 0 :(得分:1)
我假设您有一个字段允许您将表A中的记录连接到表B.我将其称为“CategoryID”。试试这个:
SELECT
CASE WHEN TableA.Value BETWEEN TableB.MinValue AND TableB.MaxValue
THEN 1 ELSE 0 END
FROM TableA
INNER JOIN TableB ON TableA.CategoryID = TableB.CategoryID
WHERE TableA.ID = "TheID"
祝你好运!
- 迈克尔
答案 1 :(得分:0)
在不知道细节的情况下(对于外键),这种语法应该有用。
SELECT
CAST((CASE
WHEN tableAValue < tableB.maxRange and tableAValue > tableB.minRange
THEN 1
ELSE
0
END) AS BIT)
FROM TableA
INNER JOIN TableB
ON TableA.ID = TableB.TableAID
WHERE TableA.ID = @yourID