作者renmax (鍛翼)
看板Database
標題[SQL ] 請問要怎麼下指令
時間Mon Oct 22 17:21:13 2012
各位前輩好
最近在寫PHP的時候,遇到SQL的幾個問題
想請教一下各位前輩
資料內容大概是如下所示:
pid label type class
----------------------------------------------------------------
1 中山運動中心 sports ExerciseGym
2 景福宮 religion BuddhistTemple
3 欣欣秀泰影城 movies MovieTheater
4 行天宮 religion BuddhistTemple
5 美麗華 movies ShoppingCenter、MovieTheater
6 新豐唱片行 music MusicStore
.
.
.
.
100 Louis Vuitton書店 books BookStore
type table裡有六個分類:movies, music, books, tv, sports, religion
每個分類至少有五個以上,全部加起來共有100個
遇到的問題如下:
因為使用者挑選的3個type不同,而所需要output的label就不同
例如:使用者挑選tv, moveis, sports這3種type
(1) 系統要「隨機且不重覆」output出5個tv、3個movies、2個sports
(2) 系統要「隨機且不重覆」output出共10個使用者沒挑選的其他3個type
另外,在class table方面,種類就比較多
不過主要的問題是,如:美麗華可分類在ShoppingCenter和MovieTheater兩種
系統有時候挑選到ShoppingCenter的分類時,要output出美麗華
系統選到MovieTheater時,就要output出美麗華和欣欣秀泰影城
這方面有辦法使用SQL語法嗎?
問題有點小複雜,SQL小弟又不太熟悉
希望前輩們可播空指教一下,麻煩了
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.20.145
推 lbeeon:這種class不做正規劃? 有的話就不用處理字串了 10/22 19:23
→ lbeeon:你的SQL是? 10/22 19:25
SQL指的是MySQL嗎?
我的程式碼大概如下
$select = db_select('poi_data', 'e');
$select->addField('e', 'label');
$select->condition('e.type', $type);
$entries = $select->execute()->fetchAll(PDO::FETCH_ASSOC);
如果要採用正規劃處理,我就比較不知道該怎麼著手
而type table的問題也不知道該怎去condition
更之後的處理,可能需要class和type兩個一起做condition
麻煩了 謝謝
※ 編輯: renmax 來自: 42.75.10.223 (10/22 23:16)
→ lbeeon:如果你有做正規劃的話 那就能先選class在做join 10/23 00:31
→ lbeeon:關鍵字請搜尋 第一正規劃 1nf 做完應該能解決你的問題 10/23 00:33
→ lbeeon:php部分我不太懂 抱歉 10/23 00:33
→ renmax:請問一下 關於type部分有沒有SQL能使用? 10/23 03:03