繁体   English   中英

如何结合这两个SQL查询在Oracle中?

[英]how to combine these 2 sql queries in oracle?

我有这些桌子,巨型头像是有父母的头像的孩子。

avatar (avatarID,playerID,speciesName,charName,avatarDob,strength,gender,hoard)

megaAvatar(megaAvatarID,charName,megaAvatarDob,speciesName,magicPower,hoard,gender)

relationship(relationshipID,megaAvatarID,fatherAvaID,motherAvaID)

如何将这两个查询组合成一个可以显示父亲(头像)和母亲(头像)详细信息的查询

    SELECT megaAvatar.charName, megaAvatar.speciesName, megaAvatar.magicPower,
            avatar.charName AS fatherName, avatar.speciesName AS fatherSpeciesName, 
species.speciesCost AS fatherSpeciesCost        
    FROM megaAvatar 
    INNER JOIN relationship ON megaAvatar.megaAvatarID = relationship.megaAvatarID
    INNER JOIN avatar ON relationship.fatherAvaID = avatar.avatarID
    INNER JOIN species ON avatar.speciesName = species.speciesName

    WHERE megaAvatar.hoard > 16;



SELECT megaAvatar.charName, megaAvatar.speciesName, megaAvatar.magicPower,
        avatar.charName AS motherName, avatar.speciesName AS motherSpeciesName, species.speciesCost AS motherSpeciesCost
FROM megaAvatar 
INNER JOIN relationship ON megaAvatar.megaAvatarID = relationship.megaAvatarID
INNER JOIN avatar ON relationship.motherAvaID = avatar.avatarID
INNER JOIN species ON avatar.speciesName = species.speciesName

WHERE megaAvatar.hoard > 16;

我没有在Oracle SQL中尝试过,因为我没有它...但是它可以在其他DBMS中使用...

想法是再次在同一表上联接并使用不同的别名..

SELECT megaAvatar.charName, megaAvatar.speciesName, megaAvatar.magicPower,
        fatherAvatar.charName AS fatherName, fatherAvatar.speciesName AS fatherSpeciesName, 
        motherAvatar.charName AS motherName, motherAvatar.speciesName AS motherSpeciesName, 
        fatherSpecies.speciesCost AS fatherSpeciesCost, motherSpecies.speciesCost AS motherSpeciesCost
    FROM megaAvatar 
    INNER JOIN relationship ON megaAvatar.megaAvatarID = relationship.megaAvatarID

    INNER JOIN avatar as fatherAvatar ON relationship.fatherAvaID = fatherAvatar.avatarID
    INNER JOIN species as fatherSpecies ON fatherAvatar.speciesName = fatherSpecies.speciesName

    INNER JOIN avatar as motherAvatar ON relationship.motherAvaID = motherAvatar.avatarID
    INNER JOIN species as motherSpecies ON motherAvatar.speciesName = motherSpecies.speciesName

    WHERE megaAvatar.hoard > 16;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM