好吧我在猜測我需要一個子查詢來解決這個問題,而且我對這些很少生疏。所以,我有3個表:MySQL子查詢概述
tblAccount
tblItem
tblAccountItem
tblAccount - 擁有用戶信息和帳戶ID
tblItem - 有項目信息和項目ID
的AccountID - 有3個領域 - AccountItemID /帳戶ID /商品ID
一個賬戶可以有很多項目,一個項目可以有很多賬戶。示例數據:
tblAccount
AccountID AccountName AccountEmail
1 John Smith [email protected]
2 Fred John [email protected]
3 George Mike [email protected]
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中有兩種類型的帳戶由字段表示。
tblAccount
AccountID AccountName AccountEmail AccountDescription AccountTypeID
1 John Smith [email protected] NULL 1
2 Fred John [email protected] NULL 1
3 George Mike [email protected] 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我猜有需要創建一個別名字段中的查詢。就像:
WHERE AccountTypeID = 1 (SELECT AccountName)
WHERE AccountTypeID = 2 (SELECT AccountDescription)
我希望這是有道理的,感謝所有幫助到目前爲止!
這看起來可能就是這樣!現在只是測試它,但迄今爲止似乎是完美的。感謝你的回答。 – user1625233
在測試中,它的工作非常完美。由於上述示例已從我的項目中簡化,所以我添加了一個小問題。 – user1625233