2015-05-05 114 views
-1

我有三個表即配置文件,學術,付款和這些表有兩個相同的列是用戶名和狀態。Mysql查詢從多個表中選擇數據與比較

我的問題是如何從表中選擇用戶名,其中狀態= 1的所有表中

+3

您是否寫過任何疑問?你有什麼嘗試? –

+0

如果您添加表格並嘗試到目前爲止將會有所幫助 – KM11

+0

聽起來像您需要'JOIN'其他表格。 – tadman

回答

1

通常它的工作原理是這樣的:

SELECT * FROM profile 
    LEFT JOIN academic ON profile.username=academic.username 
    LEFT JOIN payment ON profile.username=payment.username 
    WHERE profile.status=1 AND academic.status=1 AND payment.status=1 

作爲具有username作爲重點的說明通常是不好的事情,往往是超級糟糕的,因爲如果有人能夠改變他們的名字,你需要更新N個其他表。你可能會遇到這樣的情況,你忘記更新一個或多個表格,然後有人註冊以前的名字並「繼承」這些數據。

user_id整數值就足夠時,使用字符串INDEX的鍵通常效率非常低。

+0

謝謝bro ..它正在工作。這裏的用戶名是唯一的字段,它是由我生成的,而不是由用戶編輯的 – Naresh