VC# คำสั่ง sql การดึงข้อมูลมาแสดงผลจากหลายตาราง อยากให้แสดงผลเป็นค่า name อ่ะครับ
คือผมมีตาราง product brand groups 3 ตาราง
แล้วเวลาจะแสดงผลผมจะ SELECT จาก ตาราง product ซึ่ง มีความสัมพันธ์กับ2ตารางนั้น
โดยที่ในตารางproduct มี pro_id, pro_name, brand_id, group_id
คือผมต้องการให้แสดงผล ตาราง brand_id เป็น brand_name และ groups_id เป็นgroups_name อ่ะครับ
ตัวอย่างCode ครับ
"SELECT product.pro_id,product.pro_name,brand.brand_name FROM product,brand WHERE (product.brand_name=brand.brand_id) ORDER BY pro_id";
โค๊ดด้านบน ตาราง brand จะแสดงผล brand_name ได้ครับ
แต่เมื่อผมลองเพิ่มอีกตารางมันจะ เพิ่มแถวมามั่วหมดเลยครับ
แต่ถ้าใช้ SELECT*FROM product พวก ตาราง brand,groups จะแสดงค่าเป็น id อะครับ
เลยอยากจะให้แนะนำคำสั่งหน่อยครับ
ขอบคุณครับ Tag : .NET, Ms Access, C#, VS 2010 (.NET 4.x)
Date :
2012-02-28 11:06:21
By :
Smile
View :
2739
Reply :
3
SELECT a.pro_id,a.pro_name,b.brand_name,c.groups_name FROM product as a left outer join brand as b on a.brand_id = b.brand_id left outer join groups as c on a.group_id = c.group_id ORDER BY a.pro_id
ลองดูครับ
Date :
2012-02-28 14:15:11
By :
Thep
ขอบคุณมากครับ
โค๊ดของผมที่คำสั่งWHERE ต้องใช้ and เชื่อมถึงจะได้
Date :
2012-02-29 15:20:34
By :
Smile
อยากทราบคำสั่งในการค้นหา ข้อมูลใน datagrid แล้วให้แสดงผลใน datagrid ดังรูปอะครับ
มีก่อนค้นหากับหลังค้นหา ก่อนค้นหา พวก ยี่ห้อ จะเป็นชื่อ และหลังค้นหามันจะแสดงเป็นค่าid อ่ะครับ
อยากจะให้ช่วยแนะนำ หน่อยว่าควรใช้คำสั่งยังไงครับ ให้มันแสดงผลเป็นค่า ชื่ออะครับ
คำสั่งในการดึงข้อมูลมาโชวก่อนค้นหา
Code (C#)
"SELECT product.pro_id,product.pro_name,brand.brand_name FROM product,brand WHERE (product.brand_name=brand.brand_id) ORDER BY pro_id";
คำสั่งในปุ่มค้นหาครับ
Code (C#)
private void btnSearch_Click(object sender, EventArgs e)
{
{
if (txtSearch.Text == "")
{
MessageBox.Show("");
txtSearch.Focus();
ShowData();
return;
}
DataSet ds = new DataSet();
string sql = "SELECT * FROM product WHERE pro_id LIKE'%" + txtSearch.Text + "%'";
OleDbDataAdapter da = new OleDbDataAdapter(sql, _conn);
OleDbCommandBuilder CB = new OleDbCommandBuilder(da);
da.Fill(ds, "__");
dgvList.AutoGenerateColumns = false;
dgvList.DataSource = ds.Tables["__"];
}
}
ขอบคุณครับ
Date :
2012-02-29 18:38:16
By :
Smile
Load balance : Server 05