SQL查询快速问题
问题描述:
以下不起作用。我得到的错误信息,即它不承认Query.Field4,Query.Field5和Query.Field6:SQL查询快速问题
SELECT Table.*
FROM Table
WHERE ((Table.Field1=Query.Field4)
AND ((Table.Field2)=(Query.Field5))
AND (Table.Field3=Query.Field6));
我该如何解决这个问题?
编辑: 我有一个问题,但我需要能够编辑记录,当我使用JOIN子句时,它不会让我编辑记录。
答
看起来您没有在声明中加入JOIN子句。
例如:
SELECT Table.*
FROM Table
JOIN Query ON (Table.Field1 = Query.Field4) AND
(Table.Field2 = Query.Field5) AND
(Table.Field3 = Query.Field6)
编辑:
当您使用GUI编辑器编辑表中的行,你可能需要做这样的事情:
SELECT Table.*
FROM Table
WHERE Table.UniqueIdentifier IN (
SELECT Table.UniqueIdentifier
FROM Table
JOIN Query ON (Table.Field1 = Query.Field4) AND
(Table.Field2 = Query.Field5) AND
(Table.Field3 = Query.Field6)
)
上面的查询假设你有一个主键在y上我们的表或者一个给每行赋予自己唯一标识符的列(例如递增整数或GUID)。
在查询中没有提及关于“Table2”的内容,您是如何得到这个错误的? – Bastardo 2011-04-29 21:21:24
查询中的table2在哪里?这个编辑错了吗? – lobster1234 2011-04-29 21:21:46
oops,我的意思是查询table2。我会很快编辑它。谢谢! – Zack 2011-04-29 21:22:30