作者yihinwind (跑很快的驴子)
看板Database
标题Re: [SQL ] 交叉查询
时间Thu Nov 3 09:34:06 2011
感谢 twoseven板友的协助 我对於 mysql的 join用法友比较了解了一点
原来在 mysql内如果用了两个join以上的话 就要把所有连接的表格都要做alias.
以下是经过twoseven协助後 写出的语法
SELECT a2.`cate_parent_id`, c.cate_name AS cate_name_parent ,
a2.`cate_child_id` , a1.`cate_name` AS cate_name,
a1.`cate_description` , a1.`cate_publish`
FROM `cate_xref`
a2
LEFT JOIN `cate`
a1 ON
( a2.`cate_child_id` = a1.`cate_id`
)
LEFT JOIN `cate` c ON
( a2.`cate_parent_id` = c.`cate_id`
)
ORDER BY `cate_parent_id`
经过协助 我也去查了一下mysql的手册 总算解决了问题
感谢各位大侠
※ 引述《yihinwind (跑很快的驴子)》之铭言:
: 请教各位大侠,我碰到了一个状况,不知道该如何解决
: 目前有两张表分别为
: cate(存放所有类别叙述) 和
: 栏位内容为
: cate_id cate_name cate_description cate_thumb cate_publish
: 0 abc abcdesc athumb Y
: 1 def defdesc dthumb n
: 2 ghi ghidesc gthumb Y
: 3 jk jkdesc jthumb Y
: 4 l ldesc lthumb Y
: 5 mno mdesc mthumb Y
: cate_xref(存放类别之间的继承关系)
: 栏位内容为
: cate_parent_id cate_child_id
: 0 1
: 0 2
: 1 3
: 3 4
: 2 5
: 用了LEFT JOIN後采下列语法
: SELECT `cate_xref`.`cate_parent_id` ,
: `cate_xref`.`cate_child_id` ,
: `cate`.`cate_name` , `category` AS cate_name_child.`cate_description`
: , `cate`.`cate_publish`
: FROM `cate_xref`
: LEFT JOIN `cate` ON `cate_xref`.`cate_child_id` =
: `cate`.`cate_id`
: ORDER BY `cate_parent_id`
: 产生这样的表格
: cate_parent_id cate_child_id cate_name_child cate_description cate_publish
: 0 1 abc
: 0 2 恕删
: 3 4
: 想要请教的是 如果我想要在cate_parent_id 和 cate_child_id之间
: 多交叉查询出cate_parent_id所对应的 cate_name(假定叫做cate_name_parent)
: 不知道 我的Sql语法 要做甚麽样子的调整呢?
: (不知道该怎麽样才能够 将两个资料同时都对应到同样的cate_name栏位)
: 麻烦大家了 谢谢
: PS. 我用mysql
--
内有大只佬 请小心喂食
http://www.wretch.cc/album/fernandolee
http://www.wretch.cc/album/yihinwind
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.230.116