我有一個包含兩種類型用戶的數據庫,用戶可以是individual
或organization
,它們是父用戶user
的孩子,原因是我這樣做是因爲組織具有某個屬性individual
沒有,不像有單個表,其中可以定義兩個用戶的所有屬性,並且必須有空字段,我決定創建一個user
表,它具有兩種類型用戶之間的共同屬性,那麼有一列保留用戶類型,所以如果其1
那麼用戶是個人,所以我必須在individual
表中查看所有其他屬性,反之亦然,individual
和organization
表保持user foreign key
具有它這裏認定是我的數據庫表 使用CASE的SQL查詢問題
櫃面你想知道爲什麼我沒有做一個表,我打算增加更多屬性的用戶和組織表的應用增長的圖形表示,正在留有餘地擴展,所以這裏是我的問題,我想獲得一個用戶的數據,我已經有他們的ID,但我怎麼能檢查userType並指向下一組屬性的右表,例如,如果一個名爲John的用戶Id是2,並在個人表中,我如何得到他們的名字和姓氏?
我查詢的想法是這樣的:
Select users.email, users.profilePhoto, users.userSince, CASE WHEN userType = 1 THEN SELECT individual.fname, individual.lname WHERE users.id = 1 AND individual.userFK = 1 END FROM users
,但我不熟悉的CASE
發言,所以我總是得到一個錯誤,有人想幫誰,你是最歡迎的。
https://dev.mysql.com/doc/refman/5.7/en/case.html – coder
@coder我看過你的鏈接,其教育但現在我需要的是一個查詢,如果一個可以幫助,然後從那裏我會知道我要去哪裏錯了 –
你不需要'Case'來做到這一點,使用['LEFT JOIN'](http://www.mysqltutorial.org/mysql-left-join。 ASPX)。 –