2012-02-21 62 views
-1

我想爲網站設計一個通知系統。在這個系統中,我持有行動和活動。 Action指定我想要加入的表並且該活動是所需元素的ID。因此,例如,如果我將action指定爲1,我將轉到table1並獲取記錄「活動」。而不是留下來加入所有的表格,並消除空列;我想用條件語句更高效的方式。Mysql有條件的選擇 - 加入

+1

然後設計它,如果遇到問題,請提出具體的問題。如果你已經設計了一些東西,那麼更多的信息如表格結構和樣本查詢/數據將有助於確定你的問題。 – 2012-02-21 22:40:50

回答

0

如果我明白你需要什麼,你想用一個表中的值來決定哪個表加入。

據我所知,只有一個查詢沒有辦法做到這一點。您最好的選擇可能是在您的網站代碼(PHP或任何它的代碼)中構建查詢並從那裏開始。

0

假設它是爲了擴展而不是幾張表的靜態列表,擁有基於輸入變量的單獨表似乎表明數據庫設計不夠通用。一般來說,這可以通過讓一個表包含您可能要搜索的所有子表來完成,並用一個新字段來指示您正在查找哪個數據集。

如果這些表格確實不夠緊密,無法壓縮成一個包含表格,那麼您的查詢中可能會有更多更改,而不僅僅是表格名稱,在這種情況下,您希望正確編寫查詢任務(使用正確的表)從一開始。這意味着對不同的數據庫操作使用不同的查詢,很可能每個表都使用不同的查詢,並使用訪問的編程語言編寫查詢。