close
4003

請教關於這段SQL

我先說明我要幹麻我要做一個紅利點數兌換商品的系統兩個Table* item - 要被兌換的商品** id** name** intro** bouns_id* bouns - 兌換點數** id** bouns假設我要列出點數為400的所有商品

以下是我所寫的SQLSELECT DISTINCT item.id

item.name

item.intro FROM item

bouns WHERE item.bouns_id = (SELECT id From bouns WHERE bouns = 400)請問是否有更好的寫法呢?
1.item 跟 bonus沒有設關聯

這會造成聯集狀態

也就是兩個表格筆數相乘的狀況

導致要用到Distinct2.這樣寫即可SELECT item.id

item.name

item.introFROM item

bounsWHERE item.bouns_id = bouns.id and bouns = 4003.bouns 應該取名為bonus才對4.表格名稱最好不要跟欄位名稱一樣5.主索引鍵欄位最好是取成一樣的比較容易辨識
基本上你的問題有點看不懂你說有兩個table但你沒說是哪兩個table你上面給的欄位值看不出來是分別屬於哪個table的如果要列出點數為400的所有商品直接用join的方式就可以了

sql server,sql語法,sql injection,sql教學,ms sql,sql 2000,my sql,sql是什麼,sql指令,sql資料庫SQL,bouns,DISTINCT,bonus,聯集,商品,兌換,紅利,系統,寫法

型別|函數|TABLE|HTML|程式|命令|Push|設計|分析|連結|PHP|宣告|字串|參數|原始碼|TELNET|XML|ASP.net|DOS|組合語言|RFID|C |VB.net|VB|遊戲|ASP|條件|8051|C|陣列|

4003
參考:http://tw.knowledge.yahoo.com/question/question?qid=1607082100488如有不適當的文章於本部落格,請留言給我,將移除本文。謝謝!
arrow
arrow

    Pelikan 4001 發表在 痞客邦 留言(0) 人氣()