例如:table name = table
1 7
2 8
3 9
4 NULL
5 11
6 12
要求用户输入两个值,一个来自column1,另一个来自第2列。让我们说用户输入2和12.结果看起来应该是这样的。
3 9
4 NULL
5 11
我尝试过使用下面的代码,但我不确定它是否正常工作。加上Null值没有显示,所以这也是一个问题。此外,实际值包含数值和字符串值。
SELECT DISTINCT column1, column2
FROM table
WHERE column1
BETWEEN '&column1' AND column1
AND column2 NOT BETWEEN '&column2 AND column2
ORDER BY column1;
感谢您的回复
答案 0 :(得分:1)
SELECT DISTINCT column1, column2
FROM table
WHERE column1
BETWEEN '&column1' AND (SELECT column1 FROM table WHERE column2 = '&column2')
ORDER BY column1;
答案 1 :(得分:0)
BETWEEN表示非严格的不平等。如果你不想要行
2 8
6 12
要显示在结果中,您必须编写
SELECT DISTINCT column1, column2
FROM table
WHERE (column1 > '&column1' or column1 is null)
AND (column2 < '&column2' or column2 is null)
ORDER BY column1;