→ grence:1._count_只是原作取的別名 2.這命名風格不常見;習慣就好. 11/02 02:24
※ 引述《grence (多想兩分鐘 = =")》之銘言:
: ※ 引述《andreli (小狗跟正妹是我的死穴)》之銘言:
: : 我列一下原始的SQL,
: : --SELECT COUNT(*) _count_ FROM (
: SELECT COUNT(1) _count_ FROM (
改了之後仍舊一樣會出現錯誤, 是我的能力太差了,
又沒辦法把整個code弄出來給大家看, 實在不好意思。
不好意思, 我還想問 _count_ 是特殊的保留字還是用法嗎?
因為我看欄位名稱裡面好像沒這東西, 還是我沒看到...
: : -- SELECT p.*, m.* FROM cmn_product p
: SELECT p.product_hits FROM cmn_product p
: : JOIN cmn_member m ON p.owner_ = m.sn_
: : WHERE p.enabled_ = 1 AND p.visible_ = 1 AND m.enabled_ = 1 AND
: : m.verify_ = 1 AND m.advance_ = 1
: : GROUP BY m.name_
: : ORDER BY p.product_hits DESC
: : ) t
: 你的問題我沒碰過。
: 不撈沒用到的欄位通常是好習慣,
: 但是我不知道你的狀況,憑感覺亂寫的,不一定能用…
: 欄位名稱重複很常見,命名太有創意有時是困擾。
: 但是,JOIN... p.owner_ = m.sn_ 這有點怪,兩個表的 sn_是不一樣的東西?
我知道命名名稱太有創意可能會是種困擾...
可是像這個case, 每個表的流水號都叫sn_。 會員資料的表流水號叫sn_,
產品資料的流水號也叫sn_, 這個架構看得我一個頭兩個大, 什麼都叫sn_,
十幾二十個表, 通通都叫sn_卻都裝不一樣的資料...
可能我自己沒待過公司訓練過, 所以不知道業界在設計欄位名稱大都是怎樣的習慣。
還是有什麼IDE是支援這樣設計的啊...欄位名稱後面都還愛加個底線來命名...
: 我也不知道最後都加底線有什麼用
: : 上面是接手人家的程式慢慢找出來可能發生錯誤的地方的原始碼,
: : 錯誤代碼和訊息是1060的Duplicate column name 'sn_'
: : 我將SQL中sub select p.*,m.*的部份改成m.sn_, m.id...就可以正常select了,
: 這很謎....
: 改了之後有另給別名嗎? m.sn_ sn1, p.sn_ sn2 ...之類的?
沒有, 我沒有再給別名, 不過確定的是的確排除掉直接使用*來撈資料就沒問題了。
: : 兩個資料表中欄位的流水號auto increasement都是叫sn_,
: : 我一開始也是往別名錯誤的地方想, 可是收設了還是不行。
: : 不知道各位前輩有沒有別的想法或看法呢?
: : 另外我想問, 所有的資料表流水號叫sn_這樣的設計方法好嗎?
: : 因為就我自己之前設計時, 每個資料表的流水號名稱都會取跟資料表名稱有關,
: : 像是member_detail, 我就會取md_sn或md_id這樣子, 讓我之後好分辨與取值,
: : 但是原本製作這程式的也算一間有點規模的公司,
: : 想請問各位前輩, 這樣製作上有什麼好處呢? 還是它在搭配smarty有啥好處呢?
: : 謝謝各位前輩的指教, 謝謝!
對不起, 因為版上規定不能連續推文的時間實在有點太長...
所以我就只好回文了。
謝謝大家花了寶貴的時間看這篇文章, 真的謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.11.67.143
※ 編輯: andreli 來自: 124.11.67.143 (11/02 00:28)