SELECT
d.district_id, d.district_name, d1.district_id, d1.district_name
FROM
tbl_district d, tbl_district d1
WHERE
CASE
WHEN (d.district_id % 2) != 0
THEN d.district_id
END
AND d1.district_id = d.district_id+1;
-1
A
回答
0
我猜你是想筛选奇数
SELECT
d.district_id, d.district_name, d1.district_id, d1.district_name
FROM
tbl_district d
INNER JOIN tbl_district d1
ON d1.district_id = d.district_id+1
WHERE (d.district_id % 2) != 0
也开始使用INNER JOIN
代替旧式逗号分隔加入
如果您正在使用SQL SERVER 2012+
然后您可以使用LEAD
窗口功能
SELECT *
FROM (SELECT *,
Lead(district_id)OVER(ORDER BY district_id) AS next_dst,
Lead(district_name)OVER(ORDER BY district_id) AS next_name
FROM tbl_district) a
WHERE a.district_id + 1 = a.next_dst
AND (district_id % 2) != 0
0
“Case when”是一个值,它不是一个逻辑操作。
例如:
SELECT
d.district_id, d.district_name, d1.district_id, d1.district_name
FROM
tbl_district d, tbl_district d1
WHERE
CASE
WHEN (d.district_id % 2) != 0
THEN d.district_id
END+1 = d1.district_id
0
CREATE PROCEDURE [dbo].[EvenOdd_District]
AS
BEGIN
SELECT d.district_id ,d.district_name,d1.district_id ,d1.district_name
FROM tbl_district d,tbl_district d1 WHERE d.district_id=
CASE
when (d.district_id%2)!=0 then d.district_id
END
AND d1.district_id=d.district_id+1;
END
相关问题
- 1. 在预期条件的上下文中指定的非布尔类型的表达式,在'and'附近
- 2. sql server - 在预期条件的上下文中指定的非布尔类型的表达式,在'dbo'附近
- 3. 在'and'附近预期条件的上下文中指定的非布尔类型的表达式。 C#
- 4. 在预期条件的上下文中指定的非布尔类型表达式,在','附近
- 5. 在'ID'附近预期条件的上下文中指定的非布尔型表达式的表达式
- 6. Select语句在预期条件的上下文中指定的非布尔类型的表达式,在','附近
- 7. 在预期条件的上下文中指定的非布尔类型的表达式,在'ORDER'附近
- 8. 在'NAME'附近预期条件的上下文中指定的非布尔类型的表达式。
- 9. 在“@orderwhere”附近预期条件的上下文中指定的非布尔类型的表达式
- 10. 在上下文中指定的非布尔类型的表达式,其中条件期望在'END'附近
- 11. SSRS 2008 R2:在期望条件的上下文中指定的非布尔类型表达式,在','附近
- 12. Mysql:在预期条件接近“rlike”的上下文中指定的非布尔类型的表达式
- 13. 错误:在预期条件的上下文中指定的非布尔类型的表达式
- 14. CASE WHEN错误 - 在预计条件的上下文中指定的非布尔类型的表达式,在'THEN'附近
- 15. 在上下文中指定的非布尔类型的表达式,其中条件接近','
- 16. 其中条件预计在上下文指定的非布尔类型的表达式,在IDT
- 17. TSQL错误:在期望条件的上下文中指定的非布尔类型的表达式
- 18. 其中条件预计在上下文指定的非布尔类型的表达式,在SQL服务器附近
- 19. 在接近'then'的情况下指定的非布尔类型的表达式
- 20. SQL查询错误在预期条件的内容中指定的非布尔类型的表达式
- 21. 了条件,预计,不久的“@ VAL4”在上下文中指定非布尔类型的表达式
- 22. 了条件,预计,不久的“或”在上下文中指定非布尔类型的表达式
- 23. 在期望条件的上下文中指定的非布尔类型的表达式 - 错误
- 24. SQL编码问题,错误“在期望条件的上下文中指定的非布尔类型的表达式,在'或'附近。
- 25. 为什么我得到这个错误在'''附近预期条件的上下文中指定的非布尔类型的表达式?
- 26. 在接近''''的位置上指定的非布尔类型的表达式
- 27. 在上下文中指定的非布尔型,其中一个条件预计
- 28. 重复的SQL Server错误“在预期条件的上下文中指定的非布尔类型的表达式”。
- 29. 在上下文指定的非布尔类型了条件,预计
- 30. 如何解决SQL Server错误“了条件,预计将在指定的上下文非布尔类型的表达式,靠近‘集团’”
您需要将case语句的结果与某些内容进行比较。你的目标是什么? – GurV
[踢坏的习惯:使用旧式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins。 aspx) - 在ANSI - ** 92 ** SQL标准(** 25年**之前)中将旧式*逗号分隔的表*样式列表替换为* proper * ANSI'JOIN'语法不鼓励使用 –