为祖父母和曾祖父母插入行

时间:2014-08-17 21:17:07

标签: php mysql

我创建了一个查询来显示一个列出所有州鸟的表,其中GS.Symbol =鸟的常用名(例如罗宾)和GS.Latin =其学名。 GG.Name =州的名称(例如阿拉斯加州),GG.IDParent ='usa'。显示如下:

<tr><td>brown thrasher</td><td>Georgia</td></tr>

<tr><td>robin</td><td>Michigan, Wisconsin</td></tr>

这是查询:

$stm = $pdo->prepare("SELECT GS.Symbol, GS.Latin, GROUP_CONCAT(GG.Name) as Names, GG.IDParent
FROM gw_geog GG
LEFT JOIN gs GS ON GS.IDArea = GG.IDArea
WHERE GG.IDParent = 'usa' AND GS.DesigGen = :RefCat
GROUP BY GS.Symbol
ORDER BY GS.Symbol, GG.Name");
$stm->execute(array(
'RefCat'=>$RefCat,
));

我现在想要修改我的表,以便按行分类排序行,并插入具有家族(祖父母)和订单(曾祖父母)姓名的行,如下所示:

<tr><td><b>Passeriformes</b> (order)</td><td></td></tr>

<tr><td><b>Turdidae</b> (family)</td><td></td></tr>

<tr><td>brown thrasher</td><td>Georgia</td></tr>

<tr><td>robin | Michigan</td><td>Wisconsin</td></tr>

我需要加入的表是gz_life,关键列是Taxon和Parent。

让我们以哀鸽为例。 gs.Latin ='Zenaida-macroura',它匹配gz_life.Taxon中的值。在同一行中,gz_life.Parent ='Zenaida'(属名)。 Zenaida的父母是'Columbidae'(姓氏)。哥伦比亚的父母是'Columbiformes'(订单名称)。

这些是我想要检索的两个值 - 家庭(Columbidae)和秩序(Columbiformes)。

<tr><td><b>Columbiformes</b> (order)</td><td></td></tr>

<tr><td><b>Columbidae</b> (family)</td><td>

<tr><td>mourning dove</td><td>Wisconsin</td></tr>

有谁知道我该怎么做?

0 个答案:

没有答案