作者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
1F:推 lbeeon:这种class不做正规划? 有的话就不用处理字串了 10/22 19:23
2F:→ 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)
3F:→ lbeeon:如果你有做正规划的话 那就能先选class在做join 10/23 00:31
4F:→ lbeeon:关键字请搜寻 第一正规划 1nf 做完应该能解决你的问题 10/23 00:33
5F:→ lbeeon:php部分我不太懂 抱歉 10/23 00:33
6F:→ renmax:请问一下 关於type部分有没有SQL能使用? 10/23 03:03