簡體   English   中英

基於PK從多個表中選擇數據 - ASP.NET

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM