2010-12-15 26 views
0

我有3個表SP_COMMENTSSP_STEPSSP_TRANSACTIONS加入如果基於表中的ID = 2

SP_COMMENTS存儲註釋有關存儲內SP_STEPS

由於評論可以涉及多個步驟的步驟製成的,我有跟蹤所有這些的SP_TRANSACTIONS表。

這是它們之間的關係:

SP_COMMENTS.SP_COMMENTS_ID = SP_TRANSACTIONS.SP_TRANSACTIONS_COMMENT_ID 

SP_STEPS.SP_STEPS_ID = SP_TRANSACTIONS.SP_TRANSACTIONS_STEP_ID 

我想要做的是顯示所有評論WHERE SP_STEPS.SP_STEPS_ID = 2

我在決定什麼樣的加入,這應該是可怕的,並希望幫助- 謝謝。

回答

2
SELECT columns 
FROM SP_COMMENTS c 
INNER JOIN SP_TRANSACTIONS t ON t.SP_TRANSACTIONS_COMMENT_ID=c.SP_COMMENTS_ID 
WHERE t.SP_TRANSACTIONS_STEP_ID=2 

此外,我對你的命名約定的幾點注意事項:

  • 作序表名與「SP」是,因爲在數據庫領域的SP縮寫還有另一個(更顯著)含義:存儲過程。通過使用sp作爲表前綴,你真的會混淆未來的應用程序維護者。
  • 您的交易表格名稱也很差。此表格是路口您的評論和步驟表之間。它不是一個事務,這又意味着數據庫上下文中的其他內容。
+1

無法與您在命名上的額外觀點保持一致。這是我在OP問題中首先遇到的問題。 – Nate 2010-12-15 16:33:27

+0

我同意,這是我們分析師的命名約定(不是試圖在公共汽車下拋出任何人),但是,是的,交易表名稱是我的工作。謝謝你的快速反應。 – Brad 2010-12-15 16:38:19