簡體   English   中英

如何使用mysql在datagridview的兩個不同列中顯示具有相同ID的兩行?

[英]How to show two rows with same id in two different columns in datagridview using mysql?

我這里有兩張桌子。

第一個用於具有user_id和名稱的用戶,第二個用於具有contact_id,contact(2 against 1 user_id) and user_id(foreign key)

我可以將聯系人分為datagridview的兩列嗎? 喜歡

User ID=1   Name=Ausaf   Contact1=0300468945    Contact2=0300733455

如果有可能,我應該怎么做? 我正在使用以下代碼從數據庫中檢索值

string sql = "select user.user_id as 'User ID', name as 'Name',contact as 

'Contact' from biometric_attendance_system.user JOIN 

    biometric_attendance_system.contact ON user.user_id=contact.user_id";

 try
 {
     MySqlDataAdapter load = new MySqlDataAdapter();
     load.SelectCommand = sql1;

     DataTable dt = new DataTable();
     load.Fill(dt);

     BindingSource bs = new BindingSource();
     bs.DataSource = dt;

     dataGridView1.DataSource = bs;
     load.Update(dt);
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

您可以使用類似這樣的方法,請記住沒有聯系人,只有一個或最多兩個聯系人

SELECT u.user_id AS 'User ID', u.user_name AS 'Name', c1.contact_num AS 'Contact1', c2.contact_num AS 'Contact2'
FROM
    users u
    LEFT OUTER JOIN (SELECT a.user_id, a.contact_id, b.contact_num FROM (SELECT user_id, MIN(contact_id) AS contact_id FROM contacts GROUP BY 1) a INNER JOIN contacts b ON a.contact_id=b.contact_id) c1 ON c1.user_id=u.user_id
    LEFT OUTER JOIN (SELECT a.user_id, a.contact_id, b.contact_num FROM (SELECT user_id, MAX(contact_id) AS contact_id FROM contacts GROUP BY 1) a INNER JOIN contacts b ON a.contact_id=b.contact_id) c2 ON c2.user_id=u.user_id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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