mysql - 自联表 SQL

标签 mysql sql database join

我想通过对我拥有的两个巨大表(一个超过 1000 万行)进行一些选择来创建 View

第一个有以下列,我们将其称为 WRSD:

ID_Deal,Year, GVKEY_ACQ, TARGET_GVKEY

在此表中,我们有一些交易,其中包含收购者的 ID 和目标的另一个 ID(因此为 GVKEY)

第二个称为 mytable :

ID_firm, year, subcat, totalpat, numpat

WRSD.GVKEY_acqWRSD.TARGET_GVKEY 引用 mytable.ID_firm

我想选择一个表格来显示:

ID_DEAL, GVKEY_acq, year, 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

关于mysql - 自联表 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37443698/

相关文章:

php - 如何清除 $this 以在 CodeIgniter 中插入更多记录?

mysql - 嵌套选择 - SQL 查询

database - 在NoSQL和RDBMS中扩展?

mysql - 尝试并捕获插入 MySQL 中的 MysqlCmd.ExecuteNonQuery

c# - 使用 ISNULL 函数会引发错误

php - 在单个查询php mysql中更新多行

mysql - 如何在 MySQL 中将现有列更改为默认插入时的当前时间?

mysql - 在mysql中生成自动递增的序列号

sql - QT SQL 和线程

sql - Linq to SQL 中的动态表名