帮我这个sql语句

时间:2011-09-17 06:53:30

标签: mysql sql vb6

我使用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 & "%'"""

任何想法?感谢..

2 个答案:

答案 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之后泄漏了一个空格。