1

私は3つのテーブルを持っています:ユニットタイプ派閥

Unitsには、Types and Factions(TypeIDおよびFactionID)からの外部キーがあります。Types.TypeNameとFactions.FactionNameを使用して、Units.UnitNameを取得する必要があります。

結合が必要かもしれないと思いますが、それをどのように構成するかがわかりません。何か助けはありますか?

編集:問題のテーブルのスクリーンショットは次のとおりです:http://i.imgur.com/Il9Qn.png

このデータを返す必要があります:UnitName-SupplyCost-CreditsCost-MetalCost-CrystalCost

この情報を取得するためのフォームは、FactionNameとTypeNameを提供します。これらはテキスト値であり、したがって、数値IDとは対照的に、ユーザーが簡単に理解できるためです。

4

4 に答える 4

3
SELECT Units.UnitName
FROM Units INNER JOIN Types ON Units.TypeId = Types.TypeId
    INNER JOIN Factions ON Units.FactionId = Factions.FactionId
WHERE Types.TypeName = @typeName
    AND Factions.FactionName = @factionName

それはあなたが求めているものでしょうか?そうでない場合は、質問でより多くの情報を提供する必要があるかもしれません。

于 2012-04-26T09:48:19.357 に答える
3

何かのようなもの:

select UnitName, SupplyCost, CreditsCost, MetalCost, CrystalCost from Units
inner join Types on Types.TypeID = Units.TypeID 
inner join Factions on Faction.FactionID = Units.FactionID
WHERE Types.TypeName = @typeName
AND Factions.FactionName = @factionName
于 2012-04-26T09:48:56.807 に答える
2

よろしくお願いします

select UnitName, SupplyCost, CreditsCost, MetalCost, CrystalCost from Units
inner join Types on Types.TypeID = Units.TypeID 
inner join Factions on Faction.FactionID = Units.FactionID
WHERE Types.TypeName = @typeName
AND Factions.FactionName = @factionName
于 2012-04-26T09:48:28.007 に答える
2
SELECT
   SupplyCost, CreditsCost, MetalCost, CrystalCost
FROM
   Units 
      INNER JOIN Types ON Units.TypeID = Types.TypeId
      INNER JOIN Factions ON Units.FactionId = Factions.TypeId
WHERE 
      Types.TypeName = 'value from form for types'
      AND
      Factions.FactionName = 'value from form for factions'

JOINのわかりやすく視覚的な説明については、http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.htmlを参照してください。

于 2012-04-26T09:48:41.350 に答える