2017-04-16 91 views
1

我正在构建一个应用程序,告诉用户他们拥有的资源是否足够用于某个活动。这里的排序表中,我使用存储需要什么资源的例子(注意:只需要什么该活动的ID是,所以有时在实际应用中的空白):比较来自PHP中不同表格的MySQL行

Table 1 (resources needed) 
-------------------------- 
ID  No. Required 
-------------------------- 
1  12 
2  3 
3  6 

我也有一个类似的表,用于存储用户已有的资源,其中资源与第一个表中的资源共享相同的ID。

Table 2 (resources available) 
----------------------------- 
ID  No. Available 
----------------------------- 
1  3 
2  8 
3  7 

我已经有2个SQL查询,它们从两个表中引入资源ID和数量。现在我需要知道如何比较单个资源并返回是否有足够的资源,并返回如果资源不足,还需要多少资源。

在此先感谢!

回答

1

以下SQL

select table1.id as "ID", table1.required-table2.available as "resources needed" 
from table1 join table2 
on a.id=b.id 

会导致这个

----------------------------- 
ID  resources needed 
----------------------------- 
1  9 
2  -5 
3  -1 

这里的一个正整数,意味着需要更多的资源。

+0

如果每个表格中没有每个资源的ID,这是否仍然有效?如果所需资源未列出? –

+0

默认加入,即。如果两个表中的ID都不可用,则会忽略这些值。 你可以在这里查看其他类型的连接[http://www.sql-join.com/sql-join-types/](http://www.sql-join.com/sql-join-types /)并使用可以帮助你的事业的那个。 – Divyun