使用SQL Server
我想检查两个表中的两个值。
我有两个整数值(value1,value2)
表1
ID Value
001 200
002 300
...
表2
ID Value
001 300
002 400
...
现在我想检查value1和value2是否与table1值和table2值匹配
尝试查询
SELECT value from table1 Where id = '" & textbox1.Text & "'
条件
我想检查value1是否与table1或table2匹配,然后value2与table1或table2匹配。如果匹配则显示该值,否则为null。
如何进行查询。
需要查询帮助
答案 0 :(得分:1)
SELECT
MAX(T1.ID)
FROM
(
SELECT TOP 1 ID
FROM table1 WHERE value = @Value1
ORDER BY ID
) T1
JOIN
(
SELECT TOP 1 ID
FROM table2 WHERE value = @Value2
ORDER BY ID
) T2 ON T1.ID = T2.ID
注意:
最后一点,如果您想要任何匹配
SELECT
MAX(1)
FROM
(
SELECT TOP 1 ID
FROM table1 WHERE value = @Value1
ORDER BY ID
) T1
CROSS JOIN
(
SELECT TOP 1 ID
FROM table2 WHERE value = @Value2
ORDER BY ID
) T2
答案 1 :(得分:0)
通常我将查询作为字符串添加而不连接它..
“SELECt * FROM ... etc WHERE id = @ id AND networktag = @netnettag”
然后使用命令参数(即C#中的SqlCommand实例)处理ID 这主要是使用c#而我认为在VB中很容易做到
希望这有帮助
答案 2 :(得分:0)
如果我理解正确,您可以使用UNION
来完成此任务。
SELECT *
FROM (
SELECT ID, Value, 'Table1' AS Source
FROM Table1
UNION ALL
SELECT ID, Value, 'Table2'
FROM Table2
) u
WHERE u.Value IN (@Value1, @Value2)