如何在联合查询中添加参数

问题描述 投票:0回答:1
i在这里找到了以下查询,发现它很有用。 为我的数据库进行查询工作后,我想在其数据库中添加一个参数以滤除不需要的记录 - 参数所需的表被称为季节,并在seasons.idseasons.idseasons =成员的会员表中加入。成员ID号,参数将在((((季节),季节)= [输入季节]))。

Select (tMin.Initial1 + ' and ' + tMax.Initial1) As initial, tMax.surname1 As surname, tMax.[first line address], tMax.[second line address], tMax.town, tMax.postcode, tMax.GroupCount From (Select Distinct Max(initial) As initial1, Max(surname) As surname1,[first line address], [second line address], town, postcode, Count() As GroupCount From members Group By [first line address], [second line address], town, postcode Having Count() = 2) As tMax Inner Join (Select Distinct Min(initial) As initial1, Min(surname) As surname1, [first line address],[second line address], town, postcode, Count(*) As GroupCount From members Group By [first line address], [second line address], town, postcode Having Count(*) = 2) As tMin On (tMax.[first line address] = tMin.[first line address]) And (IIf(IsNull(tMax.[second line address]), '', tMax.[second line address]) = IIf(IsNull(tMin.[second line address]), '', tMin.[second line address])) And (tMax.town = tMin.town) And (tMax.postcode = tMin.postcode) UNION ALL Select Max(initial) As initial1, Max(surname) As surname1, [first line address], [second line address], town, postcode, Count() As GroupCount From members Group By [first line address], [second line address], town, postcode Having Count() = 1 Or Count(*) > 2 ORDER BY surname, initial, town, postcode;

确定参数应在代码中何处。  你能帮上这个吗?

trone this:
ms-access parameters union
1个回答
0
投票
Select (tMin.Initial1 + ' and ' + tMax.Initial1) As initial, tMax.surname1 As surname, tMax.[first line address], tMax.[second line address], tMax.town, tMax.postcode, tMax.GroupCount From (Select Distinct Max(initial) As initial1, Max(surname) As surname1, [first line address], [second line address], town, postcode, Count() As GroupCount From members Inner Join Seasons On members.memberid = Seasons.idseasons Where Seasons.season = [Enter Season] Group By [first line address], [second line address], town, postcode Having Count() = 2) As tMax Inner Join (Select Distinct Min(initial) As initial1, Min(surname) As surname1, [first line address], [second line address], town, postcode, Count(*) As GroupCount From members Inner Join Seasons On members.memberid = Seasons.idseasons Where Seasons.season = [Enter Season] Group By [first line address], [second line address], town, postcode Having Count(*) = 2) As tMin On (tMax.[first line address] = tMin.[first line address]) And (IIf(IsNull(tMax.[second line address]), '', tMax.[second line address]) = IIf(IsNull(tMin.[second line address]), '', tMin.[second line address])) And (tMax.town = tMin.town) And (tMax.postcode = tMin.postcode) UNION ALL Select Max(initial) As initial1, Max(surname) As surname1, [first line address], [second line address], town, postcode, Count() As GroupCount From members Inner Join Seasons On members.memberid = Seasons.idseasons Where Seasons.season = [Enter Season] Group By [first line address], [second line address], town, postcode Having Count() = 1 Or Count(*) > 2 ORDER BY surname, initial, town, postcode;


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.