聲明:我的SQL技能是基本的,至少可以說。如何從兩張獨立的表中同時檢索類似的數據?
假設我在同一個數據庫的不同表中有兩個類似的數據類型。
第一個表被稱爲精裝和字段說明如下:
hbID | hbTitle | hbPublisherID | hbPublishDate
第二個表被稱爲平裝及其字段舉行類似的數據,但字段命名不同:
pbID | pbTitle | pbPublisherID | pbPublishDate
我需要檢索10個最近的h ardback和平裝書,其中發佈者ID爲7
這是我到目前爲止有:
SELECT TOP 10
hbID, hbTitle, hbPublisherID, hbPublishDate AS pDate
bpID, pbTitle, bpPublisherID, pbPublishDate AS pDate
FROM hardback CROSS JOIN paperback
WHERE (hbPublisherID = 7) OR (pbPublisherID = 7)
ORDER BY pDate DESC
這將返回,每行7列,其中至少有三個可能會或可能不會對錯誤的出版商可能有四種,這取決於pDate
的內容,如果其他六列適合正確的出版商,這幾乎肯定會成爲問題!
在努力推出這個軟件的早期版本,我跑了兩個單獨的查詢獲取各10條記錄,然後按日期排序他們丟棄的倒數十名,但我只是知道必須有一個更優雅的方式去做吧!
有什麼建議嗎?
另外:我正在評論我在這裏寫的內容,當時我的Mac突然遇到內核恐慌。重新啓動,重新打開我的標籤,我輸入的所有內容仍然在這裏!堆棧交易所網站是真棒:)
感謝您的回答;我試圖讓它工作,但得到語法錯誤。我確定這是我的錯,只是不想讓你以爲我忽略了你的答案,而我試圖修復它... – Kalessin 2012-04-13 18:56:25
你得到了什麼語法錯誤?我沒有看到任何對SQL Server 2000有疑問的東西。 – 2012-04-13 19:19:22
我在關鍵字'WERE''附近得到錯誤語法。我現在要回家過週末了,我會盡力在週一早上不去想它:) – Kalessin 2012-04-13 19:24:42