如何合并这两个 Access Sql 查询

How Can I merge these two Access Sql queries

我想将这两个查询合并为一个查询。 这是代码。 两者都是 table,但您会看到来自不同部分的不同数据。 就是想做一个查询一条记录

> DoCmd.RunSQL "insert into Report (id, [date], namep , [NEXTC],
> [Nurse])" & _ " values (" & Chr(34) & x & Chr(34) & " ," & Chr(34) & b
> & Chr(34) & "," & "5," & _ " " & Chr(34) & c & Chr(34) & ", " &
> Chr(34) & n & Chr(34) & ")"

还有这个

DoCmd.RunSQL "INSERT INTO Report ( brand, Bag, Acc, Id , NameP)" & _
"Select Top 1 * from" & _
    "(SELECT TOP 1 Brand FROM (SELECT * FROM Report WHERE ID=" & _
    x & _
    ") WHERE Brand IS NOT NULL ORDER BY date DESC Union All SELECT top 1 null FROM report WHERE Brand IS NULL) AS Brand," & _
    "(SELECT TOP 1 Bag FROM (SELECT * FROM Report WHERE ID=" & _
    x & _
    ") WHERE Bag IS NOT NULL ORDER BY date DESC Union All SELECT top 1 null FROM report WHERE Bag IS NULL) AS Bag," & _
    "(SELECT TOP 1 ACC FROM (SELECT * FROM Report WHERE ID=" & _
    x & _
    ") WHERE ACC IS NOT NULL ORDER BY date DESC Union All SELECT top 1 null FROM report WHERE ACC IS NULL) AS ACC," & _
 "(SELECT TOP 1 ID FROM Report WHERE ID=" & _
 x & _
 ") AS ID," & _
 "( SELECT TOP 1 NameP FROM Report WHERE ID=" & _
 x & _
 ") as NameP;"

您的查询不清楚,但您的查询应该是这样的:

INSERT INTO Report (id, [date], namep , [NEXTC], [Nurse], brand, Bag, Acc, Id , NameP)
SELECT TOP 1 'value1', 'value2', ..., FROM yourTable ...

使用INSERT INTO SELECT

value1value2 可能是统计数据,但您也可以从 yourtable

中获取一些值

测试一下,它应该可以工作(可能有些括号不对,使用前检查一下):

DoCmd.RunSQL "insert into Report (id, [date], namep , [NEXTC], [Nurse], brand, Bag, Acc, Id , NameP)" & _
" values (" & Chr(34) & x & Chr(34) & " ," & Chr(34) & b & Chr(34) & "," & "5," & _
" " & Chr(34) & c & Chr(34) & ", " & Chr(34) & n & Chr(34) & ", " & _
"(SELECT TOP 1 Brand FROM (SELECT * FROM Report WHERE ID=" & x & _
") WHERE Brand IS NOT NULL ORDER BY date DESC Union All SELECT top 1 null FROM report WHERE Brand IS NULL) AS Brand " & ", " & _
"(SELECT TOP 1 Bag FROM (SELECT * FROM Report WHERE ID=" & x & _
") WHERE Bag IS NOT NULL ORDER BY date DESC Union All SELECT top 1 null FROM report WHERE Bag IS NULL) AS Bag " & ", " & _
"(SELECT TOP 1 ACC FROM (SELECT * FROM Report WHERE ID=" & x & _
") WHERE ACC IS NOT NULL ORDER BY date DESC Union All SELECT top 1 null FROM report WHERE ACC IS NULL) AS ACC " & ", " & _
"(SELECT TOP 1 ID FROM Report WHERE ID=" & x & ") AS ID," & _
 "( SELECT TOP 1 NameP FROM Report WHERE ID=" & x & ") as NameP )"