Kini terdapat jadual maklumat novel A (sekadar maklumat ringkasan novel tersebut akan diletakkan di dalam jadual B dengan id novel% 100 (contohnya, id novel jadual A ialah). 1245, maka data babnya ialah Ia akan diletakkan pada jadual chapter_45, dan maklumat novel akan diedarkan secara rawak pada 100 helaian mengikut ID) , sekarang saya ingin mengetahui maklumat novel jadual A yang disusun dalam susunan terbalik mengikut bilangan bab (count(*)) pada jadual B. Saya menulis pernyataan sql: select i.id,i.siteid,count(*) as s from ptcms_novelsearch_info as i join ptcms_novelsearch_chapter_i.id0 as c on c.novelid = i.id and c.siteid=i.siteid GROUP BY i.id order by s desc limit 20
;
akan melaporkan 0 ralat sintaks , kerana jadual bab tidak dapat ditentukan (terdapat 100 jadual maklumat bab novel), sila minta tuan untuk menerangkan cara merealisasikan keperluan ini
Ini ialah konsep pembahagian jadual mendatar Hanya pergi ke pangkalan data contoh untuk menyemak maklumat 100 jadual Anda mesti menggabungkan semua jadual untuk menyemak kerana anda tidak tahu jadual mana yang anda mahukan, dan MySQL sendiri tidak tahu. Ini jelas tidak munasabah, jadi model perniagaan anda harus menggunakan pemisahan jadual. Contohnya, dengan bantuan mycat, jadual A dan B dibahagikan mengikut id novel mycat dan terus pilih A sertai B di A.id Just =B.id
Memandangkan nama jadual ialah pembolehubah, ia tidak boleh digunakan secara langsung Anda harus menggunakan sql dinamik untuk menyambung pernyataan sql