[英]Self join table SQL
我想通过对我拥有的两个大表(其中一个行超过1000万行)进行一些选择来创建视图
第一个包含以下各列,我们将其称为WRSD:
ID_交易,年份,GVKEY_ACQ,TARGET_GVKEY
在此表中,我们进行了一些交易,其中有一个用于购买者的ID,另一个用于目标(因此为GVKEY)
第二个称为mytable:
ID_firm,年份,subcat,totalpat,numpat
WRSD.GVKEY_acq
和WRSD.TARGET_GVKEY
参考mytable.ID_firm
我想选择一个显示以下内容的表格:
ID_DEAL,GVKEY_acq,年份,subcat,totalpat,numpat,TARGET_GVKEY,totalpat,numpat
这样我就可以比较每个子类别的两家公司之间的数据。
我尝试了很多查询,但都无济于事,有人对如何解决此问题有任何了解吗?
非常感谢。
我不了解MySQL,但如果@Serg的评价正确,您应该可以执行以下操作:
SELECT
W.Year,
A.ID_firm AS 'Aquiring Firm',
B.ID_firm AS 'Target Firm'
FROM WRSD AS W
INNER JOIN myTable AS A ON W.GVKEY_ACQ = A.ID_firm
INNER JOIN myTable AS B ON W.TARGET_GVKEY = B.ID_firm
如果您在同一WRSD中有两家公司(mytable.ID_firm)具有不同的子类别,该怎么办? 应该跳过吗? 如果是这样,还使A.subcat = B.subcat。 但是似乎您有一个设计问题,或者您正在尝试做一些使可用数据不满意的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.