0

私は2つのテーブルを持っています。weaponsそれらを と と呼びましょうweapon_powers

  • Weapons持っているID(プライマリ)
  • weapon powersID(プライマリ) とがありWEAPONTYPEます。

WEAPONTYPEIDパワーが割り当てられている武器の です。

武器 1 に装備されたパワーweapontypeは 1 になります。

これら 2 つのステートメントを 1 つに結合するにはどうすればよいですか?

select * from weapons where ID = somevariable

select * from weapon_powers where WEAPONTYPE = somevariable
4

1 に答える 1

3

私があなたの説明を正しく読んでいれば、次のように見えます:

武器 <------->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

このクエリは、指定された武器に装備されているすべてのパワーを返します。パワーが装備されていない場合は、列のデータweaponsを含む単一の行を返します。NULLweapon_powers.*

于 2013-09-13T01:48:28.440 に答える