[英]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.