Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要一个SQL语句来包含地址1或地址2,或者使用这两个地址来创建邮件列表_Sql_Ms Access 2007 - Fatal编程技术网

我需要一个SQL语句来包含地址1或地址2,或者使用这两个地址来创建邮件列表

我需要一个SQL语句来包含地址1或地址2,或者使用这两个地址来创建邮件列表,sql,ms-access-2007,Sql,Ms Access 2007,我有一个有邮寄地址的年轻看护者数据库。有时,年轻人有第二个地址,这取决于他们和谁住在一起。有时信息需要发送到地址1或地址2或两个地址;我使用一个组合框来告诉我需要使用哪个地址,即地址1、地址2或两者 如何编写查询?这是目前的查询,我只需要它自动插入正确的地址 SELECT tblYoungCareerDetails.Flagged , tblYoungCarersDetails.FirstName , tblYoungCarersDetails.LastName , tb

我有一个有邮寄地址的年轻看护者数据库。有时,年轻人有第二个地址,这取决于他们和谁住在一起。有时信息需要发送到地址1或地址2或两个地址;我使用一个组合框来告诉我需要使用哪个地址,即地址1、地址2或两者

如何编写查询?这是目前的查询,我只需要它自动插入正确的地址

SELECT tblYoungCareerDetails.Flagged
    , tblYoungCarersDetails.FirstName
    , tblYoungCarersDetails.LastName
    , tblYoungCarersDetails.Address1
    , tblYoungCarersDetails.Address2
    , tblYoungCarersDetails.Address3
    , tblGeographicalArea.QuarterStarted
    , tblYoungCarersDetails.[2ndAddress1]
    ,  tblYoungCarersDetails.[2ndAddress2]
    , tblYoungCarersDetails.[2ndAddress3]
    , tblMailOutList
    , tblYoungCarersDetails.UseAddressLabel 
FROM (tblYoungCarersDetails 
INNER JOIN tblMailOutDetails 
    ON tblYoungCarersDetails.YoungCarersID = tblMailOutDetails.YoungCarersID) 
INNER JOIN tblGeographicalArea 
    ON (tblMailOutDetails.YoungCarersID) 
    AND (tblMailOutDetails.YoungCarersID = tblGeographicalArea.YoungCarersID)
WHERE (((tblMailOutDetails.MailOutList)=Yes));

这为我提供了我所有年轻职业的邮寄详细信息,我收到了一定级别的服务,我现在如何确保他们将信息发送到正确的地址?

您可以选择第一个地址和第二个地址作为工会查询

SELECT a.* 
    , tblGeographicalArea.QuarterStarted
    , tblMailOutDetails.MailOutList

FROM  (

(SELECT YoungCarersID
    , "Select Address1" As WhereFrom
    , t.Flagged
    , t.FirstName
    , t.LastName
    , t.Address1
    , t.Address2
    , t.Address3
    , t.UseAddressLabel 
FROM tblYoungCarersDetails  t
WHERE t.UseAddressLabel  = "Address 1" 
     OR t.UseAddressLabel  = "Both" 

UNION 
SELECT YoungCarersID
    , "Select Address2" As WhereFrom
    , t.Flagged
    , t.FirstName
    , t.LastName
    , t.[2ndAddress1]
    , t.[2ndAddress2]
    , t.[2ndAddress3]
    , t.UseAddressLabel 
FROM tblYoungCarersDetails  t
WHERE t.UseAddressLabel  = "Address 2" 
     OR t.UseAddressLabel  = "Both" ) As a

INNER JOIN tblMailOutDetails 
    ON a.YoungCarersID = tblMailOutDetails.YoungCarersID )

INNER JOIN tblGeographicalArea 
    ON tblMailOutDetails.YoungCarersID = tblGeographicalArea.YoungCarersID
WHERE tblMailOutDetails.MailOutList=Yes

您需要使用哪个地址的信息在哪里?你说你用一个组合框来选择它-那个组合框在哪里?信息在哪里?你试过case语句吗?@Limey case在MS Access中不可用。@Remou:D'oh!我只是认为这是因为它是微软。多好的想法在应用程序中是一致的。谢谢你的重播,组合框是UseAddressLabel,这个查询只是拉了我的整个列表。谢谢,我明天上班时会试试,让你知道!非常感谢你的帮助!这是可行的,但它没有在查询中选择“两个地址”,我想让它选择address1和address2,但它只选择第一个地址。它选择两个地址,然后调用相同的名称,这就是union查询的要点。我会做一个小的改变来显示这个。检查a。从哪里来看看地址是从哪里来的。工作完美!非常感谢你在这方面的帮助,我可以看到名字现在在我的名单上!!