【发布时间】:2011-09-06 14:25:15
【问题描述】:
我希望能够从 TableA 中选择数据,其中 Field1 大于 TableB 中的 Field2。
在我的脑海中,我认为它是这样的
Select TableA.*
from TableA
Join TableB
On TableA.PK = TableB.FK
WHERE TableA.Field1 > TableB.Field2
我使用的是 SQL Server 2005,TableA.Field1 和 tableB.Field2 看起来像:
2004102881010 - data type - Vrachar
我的 PK 和 FK 是这样的:
0908232 - data type - nvarchar
问题是在运行此查询时,所有数据都显示,而不仅仅是 Field1 更大的行。
干杯:)
【问题讨论】:
-
那为什么不起作用呢?你遇到了什么错误?
-
您向我们展示的查询是否无效?
-
不,它不工作,它返回所有数据,而不仅仅是 Field1 更大的行。
-
为 PK、FK Field1 和 Field2 字段提供一些示例数据。否则,请查看您在 field1 和 field2 之间的数据类型,它们是否兼容?您是否从 int 隐式转换为 varchar 使事情排序 funny
-
已更新。如果您需要更多,请告诉我,干杯
标签: sql-server tsql select where-clause