结合多个sql语句

时间:2013-09-13 01:44:46

标签: sql

我有两张桌子。我们称他们为weaponsweapon_powers

  • WeaponsID(主要)
  • weapon powersID(主要)和WEAPONTYPE

WEAPONTYPE是分配权力的武器的ID

装备在武器1上的力量的weapontype为1.

如何将这两个陈述合并为一个?

select * from weapons where ID = somevariable

select * from weapon_powers where WEAPONTYPE = somevariable

1 个答案:

答案 0 :(得分:3)

如果我正确地阅读你的描述,看起来你有:


WEAPONS   <------->0..*   WEAPON_POWERS
-------                   -------------
ID (PK)                   ? (PK)
...                       WEAPONTYPE (FK WEAPONS(ID))
                          ...

在这种情况下,我认为你只想加入:

SELECT *
FROM weapons
LEFT OUTER JOIN weapon_powers ON weapons.ID = weapon_powers.WEAPONTYPE
WHERE weapons.ID = @somevariable

如果没有配备任何功能,此查询将返回为给定武器配备的所有功能,或者包含来自weaponsNULL的数据的单行。