truy vấn nhiều điều kiện trong sql

Thảo luận trong 'Kiến thức lập trình SQL & MySQL' bắt đầu bởi taibl89, 2/2/16.

  1. taibl89

    taibl89 Thành Viên Mới

    Tham gia ngày:
    27/1/16
    Bài viết:
    13
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    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'
     
    Cảm ơn đã xem bài:

    truy vấn nhiều điều kiện trong sql

    Đang tải...
  2. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    3,746
    Đã được thích:
    716
    Điểm thành tích:
    113
    Giới tính:
    Nam
    ĐÚ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
     
  3. taibl89

    taibl89 Thành Viên Mới

    Tham gia ngày:
    27/1/16
    Bài viết:
    13
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    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
     
  4. phamcongson

    phamcongson

    Police

    Tham gia ngày:
    3/6/13
    Bài viết:
    481
    Đã được thích:
    97
    Điểm thành tích:
    28
    Giới tính:
    Nam
    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?
     
  5. taibl89

    taibl89 Thành Viên Mới

    Tham gia ngày:
    27/1/16
    Bài viết:
    13
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    xóa câu đó thì chạy bình thường bạn
     
  6. phamcongson

    phamcongson

    Police

    Tham gia ngày:
    3/6/13
    Bài viết:
    481
    Đã được thích:
    97
    Điểm thành tích:
    28
    Giới tính:
    Nam
    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à !!
     
  7. taibl89

    taibl89 Thành Viên Mới

    Tham gia ngày:
    27/1/16
    Bài viết:
    13
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    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();
                                }
                            }
     


Like và Share ủng hộ ITSEOVN