如何比较两个表中的列?

时间:2018-11-04 10:37:16

标签: c# sql

假设我有两个表。

表_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

2 个答案:

答案 0 :(得分:2)

尝试一下。

注意-使用字符串对表LEFT JOIN进行ON不好用-如果您知道两个表都相同,请尝试使用Product_CodeID表。

使用我了解的有关您的表结构的信息-这样的事情应该可以解决问题。

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