1
在mysql中,我該如何編寫一個可以獲取所有業務數據的查詢,並且同時(或者不是如果這是另一種更好的方式)檢查用戶是否正在關注該業務?我有以下關係表,以確定用戶是否遵循業務(狀態= 1就意味着人以下):如何獲取所有業務數據以及當前用戶是否關注他們?
CREATE TABLE IF NOT EXISTS `Relationship_User_Follows_Business` (
`user_id` int(10) unsigned NOT NULL,
`business_id` int(10) unsigned NOT NULL,
`status` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '1=following, 0=not following'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `Relationship_User_Follows_Business`
ADD UNIQUE KEY `unique_user_business_id` (`user_id`,`business_id`);
假設業務表只是持有不同的業務,如姓名,電話號碼等數據。我想要返回查詢中的所有業務數據(Business。*)。我想將狀態(0或1)附加到每個業務行的末尾,以確定用戶是否正在關注該業務。我已經嘗試了以下查詢,但它不起作用,因爲如果存在關係行,它將縮小結果以僅顯示業務。我希望顯示所有企業無論是否有關係行存在與否,因爲我只有在用戶建立如下的關係行:
SELECT Business.*, Relationship_User_Follows_Business.status FROM Business, Relationship_User_Follows_Business WHERE 104=Relationship_User_Follows_Business.user_id AND Business.id=Relationship_User_Follows_Business.business_id
請注意,我使用104作爲測試用戶ID。用戶ID通常會依賴於用戶,而不是一個靜態的104
該代碼似乎是正確的..有什麼問題..? e – scaisEdge
@scaisEdge左連接.. – sagi