我使用MySQL數據庫和C++編程語言。聯合查詢和C++
在我的數據庫中有20個表格。我從這些表中生成不同的消息。 所有表都包含dateTime列,我想對生成的消息進行排序。
我是通過使用聯合來完成的。但是查詢太長了。 你認爲它有另一種方式或我的方式是正確的。
Thans很多。
我使用MySQL數據庫和C++編程語言。聯合查詢和C++
在我的數據庫中有20個表格。我從這些表中生成不同的消息。 所有表都包含dateTime列,我想對生成的消息進行排序。
我是通過使用聯合來完成的。但是查詢太長了。 你認爲它有另一種方式或我的方式是正確的。
Thans很多。
這聽起來像你試圖從多個不相關的表中得到一個項目的排序列表。
在這種情況下,我會從每個表中分別獲取消息,然後以C++編程方式將它們按您希望的順序排序。這可能會讓你的查詢比使用聯合和跨多個表排序複雜得多。
編輯: 不幸的是,我不認爲有一個絕對的客觀答案是否在SQL中執行此操作或以編程方式在C++中執行此操作。我會建議一種務實的方法:以最簡單和最清楚的方式(通常兩者是相同的)進行編碼,並看看它是如何執行的。如果表現可以接受,那麼你就完成了。如果速度很慢,則對其進行配置。如果你發現你的方法是慢點,那麼你可以嘗試另一種方法,看看它是如何執行的。
感謝您的回答,我想我不能表達我的問題。 我想問一個程序是否正確。 在C++或數據庫查詢中做它? – ayla 2010-08-17 13:07:48
我不知道如果MySQL suports這一點,但你可以把你所有的工會作爲一個子選擇和做排序從外部選擇,比如:
select
f1, f2
from (
select
f1, f2
from
T1
union
select
f5, f6
from
T2
)
order by
2
......這裏幾乎沒有辦法回答這個問題,不知道你的表格包含什麼數據,你產生什麼信息,聯合實際上是做什麼*做什麼*,以及你的查詢是什麼。 – Stephen 2010-08-16 13:51:28
記住你的表格結構或你的查詢片段? – DumbCoder 2010-08-16 14:06:03