我使用mysql和vb6来执行此查询..
sql = "select user_id, fname, middle, lname from users where NOT EXISTS (SELECT user_id FROM accounts where accounts.user_id = users.user_id) "
我要做的是从表用户获取表帐户中不存在user_id的记录列表。我在这方面很成功,但是我的vb代码有问题..
我希望在我的文本框的更改事件中,如果用户键入1,将显示以1开头的所有记录..我尝试这样做但是没有用...我得到了语法错误 ..顺便说一句,nuser_id是文本框的值..
sql = "select user_id, fname, middle, lname from users where NOT EXISTS (SELECT user_id FROM accounts where accounts.user_id = users.user_id) and user_id like'" & nuser_id & "%'"""
任何想法?感谢..
答案 0 :(得分:0)
试试这个:
sql = "select user_id, fname, middle, lname from users where NOT EXISTS (SELECT user_id FROM accounts where accounts.user_id = users.user_id and accounts.user_id like'" & nuser_id & "%')"
答案 1 :(得分:0)
未经测试但可能有效:
sql = "SELECT users.user_id, fname, middle, lname FROM users WHERE users.user_id NOT IN (SELECT accounts.user_id FROM accounts WHERE accounts.user_id = " & nuser_id & ") AND users.user_id = " & nuser_id & " LIMIT 1"
我强烈建议您将变量nuser_id
转换为整数(如果您的ID不是数字,则将sql转义为它)。
顺便说一句:您的原始代码在LIKE
之后泄漏了一个空格。