我有一個表書籍,我在那裏存放圖書資料(國際標準書號的,標題,作者等)。要知道哪些書是對方的版本,我有一個字段版本_組_ISBN,它是組中的任意ISBN。左連接不工作(MySQL的)
我無法得到這個查詢,這是爲了把書數據並根據ISBN其他版本的數量,工作:
SELECT *, Editions_Count
FROM Books
LEFT JOIN ((SELECT Edition_Group_ISBN, COUNT(*) AS Editions_Count
FROM Books
WHERE Edition_Group_ISBN IN (SELECT Edition_Group_ISBN
FROM Books)
GROUP BY Edition_Group_ISBN) AS b
) ON (Books.Edition_Group_ISBN = b.Edition_Group_ISBN
AND Books.Edition_Group_ISBN != NULL)
WHERE ISBN = 9780140447897
查詢給書數據9780140447897 ,但它給出了Editions_Count AS NULL,表明LEFT JOIN不起作用。
我認爲你需要另一個表來跟蹤版本分組;使用一個任意的國際標準書號來做它爲我敲響警鐘。 – staticsan 2010-07-27 00:19:59
@staticsan我確實覺得用這種方式存儲它有點奇怪,但實際的缺點是什麼? – babonk 2010-07-27 00:27:47
有利的一面是: 1-它的方式更容易地裝入數據到數據庫中。這將是一個獨特的ID更難 2它節省了一點的數據庫空間 – babonk 2010-07-27 00:42:03