SQL查询快速问题

时间:2011-04-29 21:14:00

标签: sql

以下不起作用。我收到错误消息,它无法识别Query.Field4,Query.Field5和Query.Field6:

SELECT Table.*
FROM Table
WHERE ((Table.Field1=Query.Field4)
  AND ((Table.Field2)=(Query.Field5))
  AND (Table.Field3=Query.Field6));

我该如何解决这个问题?

修改 我有一个问题,我需要能够编辑记录,当我使用JOIN子句时,它不会让我编辑记录。

1 个答案:

答案 0 :(得分:2)

看起来你没有在你的陈述中加入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)
        )

上面的查询假定您在表上设置了主键,或者为每行提供了自己唯一标识符的列(例如递增整数或GUID)。