3

こんにちは、PHP ページの MySQL でクエリが必要です。データを使用してテーブル デザインを指定します。

テーブル名: tcustomers

Name, LeftID, RightID, Code
---------------------------
Arul    102      103     101
James   104      105     102
Alex    106      107     103
David   108      109     104
Sasi    110      111     105
Prem    112      113     106
Kumar   114      115     107

私が必要とするのは、データでarulコード、つまり101を渡すときです。彼の例の出力の左右全体を次のように取得する必要があります

LEFT         Right
James        Alex
David        Prem
Sasi         Kumar

ここの誰かがstoredprocdureを使わずに私を助けることができれば、それは非常に役に立ち、事前に感謝します:)

4

1 に答える 1

1

右要素と左要素の有限数の答えだけが必要な場合、これは部分的な解決策です。

コード = 101 (Arul) という条件で、3 つの右と 3 つの左の回答がある可能性を次に示します。

SELECT
    c.Name as NameRequested,
    l1.Name as NameLeft1,
    l2.Name as NameLeft2,
    l3.Name as NameLeft3,
    r1.Name as NameRight1,
    r2.Name as NameRight2,
    r3.Name as NameRight3
FROM tcustomers c
LEFT JOIN tcustomers l1 ON c.LeftID = l1.Code
LEFT JOIN tcustomers l2 ON l1.LeftID = l2.Code
LEFT JOIN tcustomers l3 ON l2.LeftID = l3.Code
LEFT JOIN tcustomers r1 ON c.RightID = r1.Code
LEFT JOIN tcustomers r2 ON r1.RightID = r2.Code
LEFT JOIN tcustomers r3 ON r2.RightID = r3.Code
WHERE
    l.Code = 101;

もちろん、必要な回答の数を簡単に拡張できます

于 2012-05-10T08:15:19.000 に答える