简体   繁体   English

如何合并这两个 Access Sql 查询

[英]How Can I merge these two Access Sql queries

I want to merge these two queries into one query.我想将这两个查询合并为一个查询。 Here are the codes.这是代码。 it's one table for both, but you see different data from different parts.两者都是一张表,但您会看到来自不同部分的不同数据。 Just I want to make one record with only one query.只是我只想用一个查询创建一个记录。

> 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) & ")"

and this one和这个

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;"

Test this, it should work (maybe some parentheses be wrong, check it before use):测试一下,它应该可以工作(可能有些括号是错误的,使用前检查一下):

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 )"

Your query is not clear but your query should be something like this:您的查询不清楚,但您的查询应该是这样的:

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

Using INSERT INTO SELECT使用插入选择

value1 , value2 could be statistic but also you can get some value from yourtable value1value2可能是统计也可以得到一些价值yourtable

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM