看板 Database 關於我們 聯絡資訊
DB:mysql 我有以下三個table: A B C --------------- ------------------------- ------------------------- uid|username| id eventid|username|dateline eventid|username|dateline 1 | user1 |iamuser1 1 | user1 |1234567 1 | user1 | 45678 2 | user2 |iamuser2 1 | user2 |7654321 2 | user3 | 88888 先說明B跟C是不一樣的資料表,只是我少打幾個欄位 當我下指令 SELECT c.eventid, bb.username, c.dateline FROM ( SELECT * FROM b WHERE eventid =1 )bb LEFT JOIN c ON bb.eventid = c.eventid 會顯示 ------------------------- eventid|username|dateline 1 | user1 | 45678 1 | user2 | 45678 我想請問的是為什麼user2的dateline會顯示跟user1一樣的內容 正常不是應該顯示NULL嗎 是我把LEFT JOIN的意思搞錯了嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.213.87
LaPass:bb.eventid = c.eventid 09/19 22:30
LaPass:bb.eventid 都是1 09/19 22:31
tedcat:你還少加username比對 09/19 22:32
抱歉 我有點不了解樓上兩位的意思... ※ 編輯: linbob09 來自: 114.25.213.87 (09/19 22:36) 我想要達到的目標是希望user2的 dateline 是出現NULL 可是我不知道為什麼會被user1的 dateline 覆蓋 ※ 編輯: linbob09 來自: 114.25.213.87 (09/20 00:07)
linbob09:經過cutekid的指導 我了解樓上再說甚麼了... 09/20 02:15
linbob09:非常感謝各位 09/20 02:16