我試圖使用Simple.Data作爲我的ADO,但我遇到了一個問題,試圖將連接一對錶的查詢放在一起,然後根據非主表中的值過濾結果。Simple.Data - 如何將WHERE子句應用於連接表
場景是一個工作應用程序的應用程序(但工作就像一個特定的日子要完成的具體任務)。有3個相關的表格,jobs
,applications
和application_history
。 jobs
表中的每個記錄可以有多個applications
,而每個applications
的記錄可以有多個application_history
。在application_history
表中,有一個status
列,因爲每個應用程序都被髮送,提供並最終被接受。
所以我想要一個查詢,返回所有接受的未來作業的應用程序;即jobs
表中的date
列將來在何處,並且application_history
表中的狀態列是5
(意思是接受的)的關聯記錄。
如果這是普通的舊SQL,我會使用此查詢:
SELECT A.* FROM application AS A INNER JOIN application_history AS AH ON AH.application_id = A.id INNER JOIN job AS J ON J.id = A.job_id WHERE AH.status_id = 3 AND J.date > date('now')
但我想知道如何使用Simple.Data來實現同樣的事情。對於獎勵積分,如果你可以從忽略'工作必須在未來'的一步開始,這將幫助我理解正在發生的事情。
謝謝,這是最完美的答案。對於記錄來說,日期比較工作得很好,但是Where子句應該使用&&'而不是'AND'。 –
哦,當然。我會解決它。 – Tobias