我有,我想加入兩個表,但我從MySQL查詢:跨產品,而不是加入
得到一個錯誤Table: books
bookTagNum ShelfTagNum
book1 1
book2 2
book3 2
Table: shelf
shelfNum shelfTagNum
1 shelf1
2 shelf2
我想我的結果是:
bookTagNum ShelfTagNum shelfNum
book1 shelf1 1
book2 shelf2 2
book3 shelf2 2
但反而,我也越來越額外的結果:
book1 shelf2 2
我覺得我的查詢是做,而不是加入跨產品:
SELECT `books`.`bookTagNum` , `books`.`shelfNum` , `shelf`.`shelfTagNum` , `books`.`title`
FROM books, shelf
where `books`.`shelfNum`=`books`.`shelfNum`
ORDER BY `shelf`.`shelfTagNum` ASC
LIMIT 0 , 30
我在做什麼錯?
注意:我試着盡我所能來回答,但是您的問題有點令人困惑,因爲您的示例沒有顯示books.shelfNum或books.title列,即使您在查詢中引用它們。即使您請求4,您的輸出也有3列。 – 2008-11-06 12:04:46
IMplicit連接是一種非常糟糕的編程習慣。他們受到偶然的交叉連接並且更難以維護(例如,是故意交叉連接還是錯誤?)自1992年以來,它們已經過時,並且沒有任何藉口可以使用一個更好,更簡化,缺少開放的錯誤選項可用。 – HLGEM 2010-12-20 17:14:56