Mình mới tìm hiểu về SQL, mình muốn truy vấn nhiều kết quả thì dùng or nhưng cô lại không đồng ý cách viết nay, không biết bạn nào có cách viết nào khác để truy vấn nhiều kết quả không? Mã: select * from sinhvien where ma_sv = 'sv001' or ma_sv ='sv003' or ma_sv = 'sv006'
ĐÚng rồi bạn, bạn dùng lệnh in nhé VD: Mã: select * from sinhvien where ma_sv in('sv001' ,'sv003','sv006') Lấy tất cả các sinh viên có mã số nằm trong các mã số đó bạn nhé. Vì lệnh in sẽ dễ khi bạn tìm kiếm ở diện rộng với câu lệnh kết nối từ clien VD: Mã: select * from sinhvien where ma_sv in(@listma_sv) Với @listma_sv là danh sách sinh viên được truền từ code vô cơ sở dữ liệu
CÁm ơn ban, mình đã làm được. Tiện đây mình xin hỏi chút nữa, hỏi nhiều nơi không chổ nào trả lời chỉ có bạn trả lời ah, xem giúp mình cái này nữa ha: Mình có dùng excel làm cơ sở dữ liêu, mình kết nối được với excel và đọc được nhưng khi mình xử lý dữ liệu trên câu truy vấn thì nó lại không chạy được, đây là câu truy vấn của mình Mã: select [ma_kh],[ten_tt],[diachi_tt],[somay],[ms_thue],[hinhthuc_tt],[thang],[tenps_cothue],[ps_cothue],[tenps_khongthue],[ps_khongthue],[ten_tienkm],[tienkm],[tongtiendv_chuathue],[tiengiamtru],[thue],[bigtongtienthu],[doc_bigtongtienthu], [loai_dv], case when [loai_dv]=2 then '02' + [MA_KH] else '01' + [ma_kh] end [ma_kh] from [hoadon$] dòng Mã: case when [loai_dv]=2 then '02' + [MA_KH] else '01' + [ma_kh] end [ma_kh] là câu lệnh mình xử lý dữ liệu trên câu truy vấn, không biết nó sai chổ nào mà nó không chạy được, trong khi nó dùng cho csdl oracle và sql chạy đều tốt, khi mình bỏ câu đó ra thì kết nối excel chạy bình thường, bạn nào biết xin hướng dẫn dùm, mình dùng ngôn ngữ c# để kết nối theo kiểu olebd
Câu lệnh của bạn mình thấy đúng !! Bạn xem câu kết nối ở đây xem đúng không : Mã: http://www.connectionstrings.com/excel/ Bạn xóa dòng Mã: case when [loai_dv]='2' then '02' + [MA_KH] else '01' + [ma_kh] end [ma_kh] Câu lệnh có chạy không?
Bạn copy thế này xem được không nhé Mã: case when [loai_dv]='2' then '02' else '01' end [ma_kh] Xem từng đoạn xem do câu nối chuỗi hay do khúc nào !! hizzz mình thấy câu lệnh đúng mà !!
nó báo từ khó không được nhận when đây là cả đoạn code của mình Mã: command.CommandText = String.Format("select [ma_kh],[ten_tt],[diachi_tt],[somay],[ms_thue],[hinhthuc_tt],[thang],[tenps_cothue],[ps_cothue],[tenps_khongthue],[ps_khongthue],[ten_tienkm],[tienkm],[tongtiendv_chuathue],[tiengiamtru],[thue],[bigtongtienthu],[doc_bigtongtienthu],[loai_dv],case when [loai_dv]='2' then '02' else '01' end [ma_kh] from [{0}$]", kiemtra()); OleDbDataAdapter da = new OleDbDataAdapter(command); DataTable dt = new DataTable(String.Format("{0}", kiemtra())); da.Fill(dt); dt.TableName = "Invoices"; saveFileDialog1.Title = "Save File XML"; saveFileDialog1.Filter = "Files|*.xml"; saveFileDialog1.FileName = kiemtra(); if (saveFileDialog1.ShowDialog() == DialogResult.OK) { FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create); XmlWriterSettings settings = new XmlWriterSettings(); settings.OmitXmlDeclaration = true; using (XmlWriter writer = XmlWriter.Create(fs, settings)) { writer.WriteStartElement("Invoices"); writer.WriteElementString("BillTime", "" + comboBox2.Text + comboBox1.Text); var tam = dt.AsEnumerable(); foreach (DataRow row in tam) { writer.WriteRaw("\n"); writer.WriteStartElement("Inv"); writer.WriteStartElement("key"); //if (row.ItemArray[18].ToString() == "2") //{ // writer.WriteString("BLU" + comboBox2.Text + comboBox1.Text + "02" + row.ItemArray[0].ToString()); //} //else //{ // writer.WriteString("BLU" + comboBox2.Text + comboBox1.Text + "01" + row.ItemArray[0].ToString()); //} writer.WriteString("BLU" + comboBox2.Text + comboBox1.Text + row.ItemArray[19].ToString()); writer.WriteEndElement(); writer.WriteStartElement("Invoice"); writer.WriteStartElement("CusCode"); writer.WriteString(row.ItemArray[0].ToString()); writer.WriteEndElement(); writer.WriteStartElement("CusName"); writer.WriteCData(row.ItemArray[1].ToString()); writer.WriteEndElement(); writer.WriteStartElement("CusAddress"); writer.WriteCData(row.ItemArray[2].ToString()); writer.WriteEndElement(); writer.WriteStartElement("CusPhone"); writer.WriteString(row.ItemArray[3].ToString()); writer.WriteEndElement(); writer.WriteStartElement("CusTaxCode"); writer.WriteString(row.ItemArray[4].ToString()); writer.WriteEndElement(); writer.WriteStartElement("PaymentMethod"); writer.WriteString(row.ItemArray[5].ToString()); writer.WriteEndElement(); writer.WriteStartElement("KingOfService"); writer.WriteCData(row.ItemArray[6].ToString()); writer.WriteEndElement(); writer.WriteStartElement("Products"); if (row.ItemArray[7].ToString().Length > 0) { writer.WriteStartElement("Product"); writer.WriteStartElement("ProdName"); writer.WriteCData(row.ItemArray[7].ToString()); writer.WriteEndElement(); writer.WriteStartElement("ProdUnit"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteStartElement("ProdQuantity"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteStartElement("ProdPrice"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteElementString("Amount", row.ItemArray[8].ToString()); writer.WriteEndElement(); } if (row.ItemArray[9].ToString().Length > 0) { writer.WriteStartElement("Product"); writer.WriteStartElement("ProdName"); writer.WriteCData(row.ItemArray[9].ToString()); writer.WriteEndElement(); writer.WriteStartElement("ProdUnit"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteStartElement("ProdQuantity"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteStartElement("ProdPrice"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteElementString("Amount", row.ItemArray[10].ToString()); writer.WriteEndElement(); } if (row.ItemArray[11].ToString().Length > 0) { writer.WriteStartElement("Product"); writer.WriteStartElement("ProdName"); writer.WriteCData(row.ItemArray[11].ToString()); writer.WriteEndElement(); writer.WriteStartElement("ProdUnit"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteStartElement("ProdQuantity"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteStartElement("ProdPrice"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteElementString("Amount", row.ItemArray[12].ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteElementString("Total", row.ItemArray[13].ToString()); writer.WriteElementString("DiscountAmount", row.ItemArray[14].ToString()); writer.WriteElementString("VATRate", "10"); writer.WriteElementString("VATAmount", row.ItemArray[15].ToString()); writer.WriteElementString("Amount", row.ItemArray[16].ToString()); writer.WriteStartElement("AmountWords"); writer.WriteCData(row.ItemArray[17].ToString()); writer.WriteEndElement(); writer.WriteStartElement("Extra"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteStartElement("ArisingDate"); writer.WriteString(""); writer.WriteEndElement(); writer.WriteElementString("PaymentStatus", "0"); writer.WriteEndElement(); writer.WriteEndElement(); } writer.WriteRaw("\n"); writer.WriteEndElement(); writer.WriteEndDocument(); } }