【求助】这样的情况,mysql应该怎么获取内容?

yj688567 发布于 2014/11/18 12:51
阅读 142
收藏 0
线路表如下:
id      city        title                          days          mudidi
1         1     上海到新马泰4日游          4              1,2,3
2         2     北京到新马泰5日游          5              1,2,3
3         1     上海到泰国6一日游          6              3    
  
mudidi表如下:
1 是马来西亚
2 是新加坡
3 是泰国
 
我想获取上海出发到泰国的线路,sql应该怎么获取?
 
加载中
0
Narky
Narky
where FIND_IN_SET('3',mudidi)
Narky
Narky
回复 @yj688567 : 小数据量可以临时解决问题,大数据量这个方法有性能问题,还是需要重新设计表
y
yj688567
非常感谢,问题解决了!
0
首席撸出血
首席撸出血

具体的没看懂,但是这个字段肯定对你有用

union  

0
mark35
mark35
mudidi这个字段的设计真是……
y
yj688567
求助,应该怎么设计?
0
y
yj688567

引用来自“Narky”的评论

where FIND_IN_SET('3',mudidi)

回复 @Narky :
非常感谢回复,麻烦再看下!如果这样设计是否可行?

tour(线路表)如下:
id      city        title                          days        
1         1     上海到新马泰4日游          4             
2         2     北京到新马泰5日游          5              
3         1     上海到泰国6一日游          6       

mudidi(目的地表)如下:
id        name
1       马来西亚
2        新加坡
3         泰国
         
data(关联线路表和目的地表)如下:
id        mudidiid        tourid
1             1                  1
2             2                  1
3             3                  1
4             1                  2
5             2                  2
6             3                  2
7             3                  3

根据目的地的mudidiid先读取data表再获取toursid,最后获取tous表中的具体内容,这样设计是否可行?

y
yj688567
回复 @Narky : 好的,非常感谢!
Narky
Narky
回复 @yj688567 : 这个。。。你要去看看MySQL的手册补一下基础知识
y
yj688567
回复 @Narky : 把索引都加上,指的是什么?
Narky
Narky
这样是可以的,查询的时候join一下就行了,最好把索引都加上
返回顶部
顶部