2013-02-22 110 views
1

我正在为类建立婚礼数据库,并且当前有一张表用于费用。该表格显示费用标签(鲜花,摄影师,乐队......)和付款截止日期(等等)。我还为其他任务提供了一个单独的表格(请问新娘派对,发送邀请......)。在查询中的某些值之前添加文本

我目前有一个联合查询,将两个表合并为一个“待办事项列表”。下面是查询的SQL:

SELECT Expense AS Task, DateDue, tblExpenses.[Paid?] AS [Completed?] 
from tblExpenses 
UNION SELECT Task, DateDue, tblToDoList.[Completed?] 
from tblToDoList; 

我的问题是最终名单合并按计划进行,但列表中有值,如“花”下的“任务”的标题。我希望能够在来自费用表的值之前添加“付费”或“付费”,这样它就像谓词而不是主题一样。有没有办法做到这一点?

对不起,如果任何这是令人困惑。我对SQL的知识非常有限,我不确定如何精确地描述一切。

+1

是否有你可以加入的两个表列?从你的解释中可以看出,tblExpenses和tblToDoList包含两种不同的东西,但是你可以在ToDo列表中找到可以支付或不支付的东西。所以我有点困惑。但是,如果两个表格有一个共同的列,请考虑使用JOIN而不是UNION – Melanie 2013-02-22 20:55:12

+0

如果您的意思是按某个键,那么目前没有。我是建立数据库的真正初学者,数据库中的关系一直是我的弱点。基本上,tblexpenses是来自tblToDoList的附加有附加信息的任务的子集。 (我认为这是一个正确的看待它的方法。) – 2013-02-22 21:00:44

回答

0

怎么样..?

SELECT Expense AS Task, DateDue, 
     IIf(tblExpenses.[Paid?]=True,"Paid","Pay For") AS [Completed?] 
FROM tblExpenses 
UNION 
SELECT Task, DateDue, tblToDoList.[Completed?] 
FROM tblToDoList; 

如果付费为真(是),查询将返回“付费”,否则将返回“付费”。

回复评论

SELECT "Paid " & Expense AS Task, DateDue, 
     tblExpenses.[Paid?] AS [Completed?] 
FROM tblExpenses 
UNION 
SELECT Task, DateDue, tblToDoList.[Completed?] 
FROM tblToDoList; 
+0

我不认为我明确表达了我的目标。 [Completed?]字段工作正常。 目前,从“任务”字段中的tblExpenses返回的值只是表示鲜花,摄影师等。我希望他们返回付费花卉,付费摄影师等。 – 2013-02-22 20:56:44

+0

始终支付?如果是这样,你可以只填写上面所示的文字。 – Fionnuala 2013-02-22 21:00:10

+0

哇。我试过这个昨晚的每一次迭代,但是让它太复杂了。这应该有效,但是Melanie的评论让我觉得他们可能是从一开始就建立我的桌子的更好方式。非常感谢! – 2013-02-22 21:02:54