【发布时间】:2017-08-04 12:12:13
【问题描述】:
SELECT id FROM Table2 t2
INNER JOIN Table1 t1
on t1.ordno = t2.ordno
and t1.testcode = t2.testcode
WHERE RN1 > 0
AND RN2 > 0
AND RN3 > 0
AND RN3 > 0
AND RN4 > 0
AND RN5 > 0
AND RN6 > 0
如果 Table1 中的值 >0(Table1 中的列名存在于 Table2.RNVALUE 中),我只想返回 Table2 中的 id。所以在这种情况下,我只想弹出 table2 的前两行,因为它们在 table1 中有一个大于 0 的值。有人可以帮我查询吗?
表1:
+--------------------------------------------------------+
| ORDNO | TESTCODE | RN1 | RN2 | RN3 | RN4 | RN5 | RN6 |
+--------------------------------------------------------+
| 123 | 456 | 55 | 56 | 0 | 0 | null | null |
+--------------------------------------------------------+
表2:
+----------------------------------+
| ORDNO | TESTCODE | RN_VALUE | ID |
+----------------------------------+
| 123 456 RN1 1 |
| 123 456 RN2 2 |
| 123 456 RN3 3 |
| 123 456 RN4 4 |
+----------------------------------+
【问题讨论】:
标签: sql sql-server join