了解しました。これを解決するにはサブクエリが必要だと思いますが、これらについては少し錆びています。だから私は3つのテーブルを持っています:
tblAccount
tblItem
tblAccountItem
tblAccount-ユーザー情報とAccountIDがあります
tblItem-アイテム情報とItemID
がありますAccountID-3つのフィールドがあります-AccountItemID/AccountID / ItemID
アカウントには多くのアイテムを含めることができ、アイテムには多くのアカウントを含めることができます。データ例:
tblAccount
AccountID AccountName AccountEmail
1 John Smith john@smith.com
2 Fred John fred@john.com
3 George Mike george@mike.com
tblItem
ItemID ItemName ItemDescription
1 Hammer Smashes things
2 Axe Breaks things
では、ハンマーがジョン、フレッド、ジョージに属しているとしましょう。斧はジョンとフレッドだけに属しています。
tblAccountItem
AccountItemID AccountID ItemID
1 1 1
2 2 1
3 3 1
4 1 2
5 2 2
だから私はジョンが持っているアイテムを示し、他に誰がそのアイテムを所有しているのかを示したいと思います。表示したい出力は次のとおりです。
ItemName ItemDescription OtherOwners
Hammer Smashes things Fred, George
Axe Breaks things Fred
どんな助けでも大歓迎です!
ctraheyによる答えは完璧ですが、追加する条件が少しあります。tblAccountには、フィールドで示される2種類のアカウントがあります。
tblAccount
AccountID AccountName AccountEmail AccountDescription AccountTypeID
1 John Smith john@smith.com NULL 1
2 Fred John fred@john.com NULL 1
3 George Mike george@mike.com Runner 2
tblAccountTypeID
AccountTypeID AccountType
1 User
2 Admin
AccountTypeIDが1の場合、AccountEmailを出力する必要があります。AccountTypeIDが2の場合、AccountDescriptionを出力する必要があります。例:出力(上記と同じストーリー):
ItemName ItemDescription OtherOwners
Hammer Smashes things Fred, Runner
Axe Breaks things Fred
ctraheyという質問をやめて、ALIASフィールドを作成する必要があると思います。何かのようなもの:
WHERE AccountTypeID = 1 (SELECT AccountName)
WHERE AccountTypeID = 2 (SELECT AccountDescription)
これが理にかなっていることを願っています、これまでのすべての助けに感謝します!