假设我有两个表。
表_1:
Prod_name Quantity
A 15
B 5
C 17
表_2:
Prod_name threshold
A 7
B 6
C 8
如何在SQL中比较这两个表,以便如果特定prod_name
的数量低于另一个表的阈值水平,则会显示该数字?
预期产量
Med_name Quantity
B 5
答案 0 :(得分:2)
尝试一下。
注意-使用字符串对表LEFT JOIN
进行ON
不好用-如果您知道两个表都相同,请尝试使用Product_Code
或ID
表。
使用我了解的有关您的表结构的信息-这样的事情应该可以解决问题。
SELECT a.Prod_name AS Med_name
, CASE WHEN a.Quantity < b.Quantity
THEN a.Quantity
ELSE b.Quantity
FROM (
SELECT Prod_name
, Quantity
FROM Table_1
) a
LEFT
JOIN (
SELECT Prod_name
, Quantity
FROM Table_2
) b
ON ( LOWER(a.Prod_Name) = LOWER(b.Prod_Name) )
答案 1 :(得分:0)
尝试一下。
SELECT A.Prod_name AS Med_name,A.Quantity FROM Table_1 A INNER JOIN Table_2 B ON
A.Prod_name=B.Prod_name WHERE A.Quantity < B.threshold