簡體   English   中英

自聯接表SQL

[英]Self join table SQL

我想通過對我擁有的兩個大表(其中一個行超過1000萬行)進行一些選擇來創建視圖

第一個包含以下各列,我們將其稱為WRSD:

ID_交易,年份,GVKEY_ACQ,TARGET_GVKEY

在此表中,我們進行了一些交易,其中有一個用於購買者的ID,另一個用於目標(因此為GVKEY)

第二個稱為mytable:

ID_firm,年份,subcat,totalpat,numpat

WRSD.GVKEY_acqWRSD.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM