下面的任何帮助都会很棒,我已经尝试了好几天才能做到正确。
根据以下屏幕截图,我有两张桌子:
我需要的是拥有一个包含单个Period
,PropertyID
和TransactionCodeID
列的新表格。
必须使用两个表格中的值列BalanceBF
,BudgetAmount
,ActualAmount
和RevisedBudget
来填充这些列,其中任何一个列都显示在任一行中上表。
因此,两个表中的所有值都必须出现,并且可以在适用的情况下合并为一行。
我尝试了FULL OUTER JOIN
和其他联接类型,但没有运气
关于如何做到这一点的任何想法?
如果我可以追加(coalesce
?)那么前三列然后FULL OUTER JOIN
这两个表值列是否有效?不知道怎么做。
编辑:
我使用以下代码:
SELECT
dbo.PropertyBudgets.Period,
dbo.PropertyBudgets.PropertyID,
dbo.PropertyBudgets.TransactionCodeID,
dbo.AccountBalances.BalanceBf,
dbo.PropertyBudgets.BudgetAmount,
dbo.PropertyBudgets.ActualAmount,
dbo.PropertyBudgets.RevisedBudget
FROM
dbo.AccountBalances
FULL OUTER JOIN
dbo.PropertyBudgets ON dbo.AccountBalances.PropertyID = dbo.PropertyBudgets.PropertyID
AND dbo.AccountBalances.TransactionCodeID = dbo.PropertyBudgets.TransactionCodeID
AND dbo.AccountBalances.Period = dbo.PropertyBudgets.Period
WHERE
(NOT (dbo.AccountBalances.BalanceBf = 0)) OR
(NOT (dbo.PropertyBudgets.BudgetAmount = 0))
OR (NOT (dbo.PropertyBudgets.ActualAmount = 0))
OR (NOT (dbo.PropertyBudgets.RevisedBudget =0))`
我得到以下结果输出:
可以看出BalanceBF
列返回值的位置NULL
AccountBalances
(前三列)我希望这些列具有null
中表格中的适用值表我尝试这样做如下:
因此,下图中最后三列中的值只需要位于前面三列中,<div class="container-fluid preview-height no-padding">
<% @posts.each do |p| %>
<div class="container-fluid d-block">
<div class="row disp-margin text-white preview-height bg-cover bg-img" style="background-image: url('<%= p.image.length > 0 ? p.image : default_background_url %>');">
<div class="col-lg-12 text-center vcenter">
<p class="h1"><a><%= p.title %></a></p><%# Post's title...%>
<a class="bordera m-padding"><%= p.style %></a>
<a class="bordera m-padding"><%= p.genre %></a>
<a class="bordera m-padding"><%= p.platform %></a>
<h3><%= p.likes.length %> likes</h3>
<%= p.body %>
</div>
</div>
<div class="row b-padding bg-white text-center">
<h3 class="col-lg-12 text-center">by <%= p.user.name %>
</div>
<div class="row no-padding bg-white h1">
<h3 class="col-lg-12 text-center">
<%= link_to "Like", post_likes_path(p), method: :post %>
</h3>
<h4 class="col-lg-12 text-center">
<%=link_to("Back to the top","#", class:'text-dark')%>
</h4>
</div>
</div>
<% end %>
</div>
出现在下图中:
请让我知道什么是可能的。
答案 0 :(得分:0)
通过选择两个表中的所有文本列,执行union all join
,删除aggregate
的重复项,然后将outer joining
两个表中的数字数据列删除到工会表。