2012-09-05 122 views
0

以下是我的主表:如何将两个表结合起来,得到的结果

tablename  columnname   size order 
    employee  name    25 1 
    employee  sex    25 2 
    employee  contactNumber  50 3 
    employee  salary    25 4 
    address   street    25 5 
    address   country   25 6 

而以下是我的子表:

childid userid masterid isactive size order 
    1  1  1   Y   25  1 
    2  1  2   Y   25  2 
    3  1  3   N   0  0 
    4  1  4   Y   50  3 

我想获得从主表名COLUMNNAME表格和大小,子表格中isactive is Y的子表格和子表格的顺序。

一段时间,如果这个值是不是有特定的用户比得到这样的表名,列名,大小,为了所有的值where isactive isŸ

,我真的很抱歉要问这一点,但我在SQL不好。

问候。

+5

如何在两个表彼此连接? –

+0

这两个表之间没有任何关系。 –

+0

问题不是Java相关的。正如JohnWoo所评论的那样,如果你发布了这些表格的相关性,那就太好了。 –

回答

1

使用INNER JOINLEFT JOIN代替

SELECT rcm.tablename, rcm.columnname, rcc.size, rcc.order 
from report_customise_master rcm 
     INNER JOIN report_customise_child rcc 
      ON rcm.id = rcc.masterid 
WHERE rcm.isactive = 'Y' and rcc.isactive = 'Y' 

UPDATE 1

..., COALESCE(rcc.size, rcm.size) as Size, 
    COALESCE(rcc.`Order`, rcc.`order`) as `Order` 
+0

谢谢John,是的,它给出了正确的答案,但正如我所提到的,当记录存在于表中并且report_customise_child具有特定用户的记录时,如何让他们,也如果子表没有特定用户的价值比我必须从report_customise_master表中的所有值,因此我根本不需要考虑子表。怎么去? –

+0

@学习者我认为你的意思是,...,COALESCE(rcc.size,rcm.size)作为Size,COALESCE(rcc.Order,rcc.order)作为Order –

+0

@Learner是否会更新我的答案? –

相关问题