作者linbob09 (累毙了)
看板Database
标题[SQL ] 想请问LEFT JOIN 资料会重复的问题
时间Wed Sep 19 22:24:55 2012
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
1F:推 LaPass:bb.eventid = c.eventid 09/19 22:30
2F:→ LaPass:bb.eventid 都是1 09/19 22:31
3F:→ 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)
4F:→ linbob09:经过cutekid的指导 我了解楼上再说甚麽了... 09/20 02:15
5F:→ linbob09:非常感谢各位 09/20 02:16