0

質問は3つのテーブルがあります。カテゴリ、語彙、テックス。クエリに複数の結合を含める方法を見つけようとしています。適切に参照する限り、必要な数の結合を追加できると思いました。

したがって、次の 2 つは単独で完全に機能します。

1.

SELECT 
categories.ID AS ID,
categories.ParentID AS ID,
vocabulary.value AS Name
FROM categories
INNER JOIN vocabulary
ON categories.sid=vocabulary.sid
WHERE vocabulary.langid=1

2.

SELECT 
categories.ID AS ID,
categories.ParentID AS ID,
tex.value AS Description
FROM categories
INNER JOIN tex
ON categories.tid=tex.tid
WHERE tex.langid=1

しかし、以下のように組み合わせようとするとうまくいきません。

categories.ID AS ID,
categories.ParentID AS ID,
vocabulary.value AS Name
tex.value AS Description
FROM categories
INNER JOIN tex
ON categories.tid=tex.tid
WHERE tex.langid=1

INNER JOIN vocabulary
ON categories.sid=vocabulary.sid
WHERE vocabulary.langid=1

何か案は?

前もってありがとうジョン

4

1 に答える 1

1

ではMySQL、同じ名前の列がある場合、そのうちの 1 つだけが表示されます。を指定して一意に識別する必要がありますALIAS。また、 を使用しているため、同じ結果が得られるON節または節に条件を付けることができます。WHEREINNER JOIN

SELECT  categories.ID AS CategoryID,
        categories.ParentID AS CategoryParentID,
        vocabulary.value AS Name
        tex.value AS Description
FROM    categories
        INNER JOIN tex
            ON categories.tid = tex.tid
        INNER JOIN vocabulary
            ON categories.sid = vocabulary.sid
WHERE   vocabulary.langid = 1 AND 
        tex.langid = 1
于 2013-09-28T18:19:04.913 に答える