我的查询内容如下:
"SELECT config.*, utinfo.* userinfo.* "."FROM config, utinfo, userinfo "."WHERE config.cxid = utinfo.xid"."AND utinfo.uid = userinfo.id"
在添加
之前它工作正常."AND utinfo.uid = userinfo.id"
最后部分。
更容易做到这一点?或者是我遗失的东西?
答案 0 :(得分:5)
空格:
"WHERE config.cxid = utinfo.xid "
^ - add space here
由于单凭这不是问题,我会对你真正想要达到的目标做出有根据的猜测。在我看来,您试图选择utinfo
中具有config
ID的所有记录以及具有userinfo
ID的记录。 INNER JOIN
是解决此问题的最佳方式:
SELECT *
FROM utinfo
INNER JOIN config ON config.cxid = utinfo.xid
INNER JOIN userinfo ON userinfo.id = utinfo.uid
此外,在生产环境中,如果您在数据库中添加或删除列,我会远离SELECT *
,因为它可能会破坏您的应用程序。