我想找到一個(凌亂?)解決方案,以解決更混亂的問題。我有一個SQL Server 2014數據庫,它部分存儲來自另一個軟件包的數據,但也爲我存儲數據。該軟件爲每組數據創建一個包含特定字段的表格 - Name
和Geometry
字段。例如,一個可能包含城市(dtCitiesData
),另一個包含道路(dtRoadsData
),另一個包含州(dtStates
)等。我還有一個表(dtSpatialDataTables
),其中存儲了存儲我想要的數據的表的名稱。該表只有2個字段:ID
和TableName
。
我想創造出查詢dtSpatialDataTables
所有條目的SELECT語句,然後查詢所有表對應於一個TableName
結果的名稱,並選擇從他們Name
和Geometry
。
僞代碼,有效我想這樣做:
SELECT TableName FROM dtSpatialDataTables
FOREACH TableName :
SELECT Name, Geometry FROM (TableName)
我可以通過對dtSpatialDataTables
第一查詢,然後查詢到每個返回行的一個循環做到這一點很容易PHP TableName
秒,但我想知道這是否可以通過SQL直接進行。
實際上,我想要做的就是用這個查詢創建一個VIEW,這樣我就可以直接查詢VIEW,而不用在很多查詢中處理時間。
這可能嗎?不幸的是,我的谷歌並沒有取得任何有意義的結果。
謝謝大家!
PS:我覺得這很混亂,而不是這樣做的方式。但我無法選擇軟件如何將數據放入我的數據庫中。我只需要使用我所得到的。所以......這是「正確」還是「錯誤」,我需要一個解決方案。 :)
我不是100%確定你想要什麼,但聽起來你可以創建動態SQL並使用exec來運行它。這不是你可以在視圖中做的事情,但也許存儲過程會好嗎? –
聽起來像你需要一個動態的SQL或光標(選擇你的毒藥),但你將需要創建一個過程,因爲它們都不會在VIEW中工作 – JamieD77
您還需要指定是否要將'Name,Geometry'設置爲DISTINCT或不是 – JamieD77