【发布时间】:2015-11-29 13:43:16
【问题描述】:
我对 MS SQL 查询完全陌生,我拥有的三个表设置如下:
用户表的列 (userGroupLocID) 设置为 varchar 数据类型,该字段包含以逗号分隔的值,例如 (1,2)
Room_Location 表的一列 (user_loc_id) 设置为 INT 数据类型
Client_Room 表的列 (id) 设置为数据类型 INT
我有以下查询 $query = "SELECT * FROM client_room, room_location, users WHERE $useractiveid = (users.id) AND client_room.id = (room_location.user_loc_id)";
这会从 Room_Location 表中输出完整的位置列表,这可以正常工作,但我只想显示用户表中存在 id 的位置 (userGroupLocID) $query = "SELECT * FROM client_room, room_location, users WHERE $useractiveid = (users.id) AND client_room.id = (room_location.user_loc_id) AND cast(client_room.id as varchar(10)) IN (users.userGroupLocID)";
谁能告诉我哪里出错了。
【问题讨论】:
-
它的查询有问题吗?还是它的查询执行问题?如果是执行查询,你是如何执行的?
-
问题出在查询上,谢谢!
-
请参阅上面修改后的问题以及我如何尝试执行它。
-
您因为另一个数据库而更改为 ODBC?如果是这样(不是mysql)
-
您的代码示例中没有odbc_connect,也没有错误检查