[英]Selecting data from multiple tables based on PK - ASP.NET
我正在尋找來自多個表的 select 數據並插入到相應的文本框中。 我可以擁有一個包含所有數據的表,但由於我想對數據集應用規范化,我將不得不拆分數據。
我已經知道我可以使用:
SELECT *
FROM users
WHERE Username = UserNametxt.Text.Trim()
然后 addWithValue 等。
我將如何使用鏈接到其他表的一個表中的 PK 作為 FK 來執行此操作?
表用戶:
id (pk)
email
password
last_login
表地址:
id (fk to users.id)
houseNumber
StreetName
City
表郵編:
id (fk to users.id)
PostCode
以上是數據表的粗略示例。
首先,您應該更改表的結構。 為了正確規范 DB,表地址和郵政編碼應該有自己的 id (PK),它不依賴於來自其他表的數據。 如果你這樣離開它,你將無法擺脫數據重復(這是規范化數據庫的主要原因之一)
所以它看起來像這樣:
表地址:
id (PK)
userId (FK)
houseNumber
streetName
city
表郵編:
id (PK)
userId (FK)
postCode
然后你需要獲取信息。 您需要使用 JOIN 以某種方式連接表並獲取所需的信息
SELECT * FROM users
LEFT JOIN addresses ON adresses.UserId=users.Id
LEFT JOIN postcodes ON postcodes.UserId=users.Id
WHERE ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.