作者carlcarl (carl)
看板Database
标题Re: [SQL ] 查询符合条件的栏位数值
时间Mon Jan 16 02:22:28 2012
※ 引述《jhchenzt (旅人的日记)》之铭言:
: 各位好,
: 我的资料库系统是MySQL 5.0。
: 现在有三个资料表如下
: table a
: ==========================
: cloumn | matrix | factor
: M00631 T02753
: M00631 T04494
: M00631 T04498
: M00631 T05302
: M00631 T05307
: M00631 T05308
: ... ...
: M00632 ...
: M00633 ...
: ==========================
: table b
: ==========================
: column | factor | gene
: T02753 G004841
: T04494 G002744
: T04498 G002745
: T05302 G004842
: T05307 G002745
: T05308 G002745
: ... ...
: ==========================
: table c
: ==========================
: column | gene | os
: G004841 mouse
: G002744 horse
: G002745 human
: G004842 dog
: ==========================
: 也就是说,
: matrix相同的情况下,会对应到不同的factor。
: 而factor再各自对到gene
: 最後根据gene判别他是属於哪一物种(老鼠、人类...等等)
: 现在我卡在「如何在table a抓属於人类(human)的factor」
select b.factor from b,c where c.os = "human" and c.gene = b.gene
如果还要加上matrix的条件的话
select a.factor from a,b,c where c.os = "human" and c.gene = b.gene
and b.factor = a.factor and a.matrix = "M00631"
: (ex.T04498、T05307、T05308)
: 但是否属於人类,需要在table c才能得知。
: 之前我用
: select * from c join b join a where a.matrix="M00631" && c.os="human";
: 然後资料库就当了...
: 还是这需要用stored procedure做呢?
: 有没有其他好的方法可以分享一下?
: 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.141.84