Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: lấy giá trị con và giá trị cha trong SQL như thế nào?

  1. #1
    Ngày gia nhập
    05 2011
    Bài viết
    17

    Mặc định lấy giá trị con và giá trị cha trong SQL như thế nào?

    mình có 2 bảng
    table1(ma,noi_dung)
    451 zzz
    45 xxx
    46 zzz
    461 sss
    47 ww
    table2(ma_con,ma_cha,ten_ma)
    451 45 ma_con1
    45 00 ma_cha1
    461 46 ma_con2
    46 00 ma_cha2

    2 bảng như vậy. Bây giờ tôi muốn lấy ở table1 gồm: mã con, mã cha
    vd: select * from table1 a,table2 b where a.ma = b.ma_con and a.ma=b.ma_cha....

    tuy nhiên với cách lấy như vậy không ra được, xin các cao thủ chỉ giáo: chỉ với 1 mã cha đưa vào là lấy được ở table1 cả all mã cha + mã con.
    xin cảm ơn

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Trích dẫn Nguyên bản được gửi bởi dechangcum Xem bài viết

    2 bảng như vậy. Bây giờ tôi muốn lấy ở table1 gồm: mã con, mã cha
    vd: select * from table1 a,table2 b where a.ma = b.ma_con and a.ma=b.ma_cha....

    tuy nhiên với cách lấy như vậy không ra được, xin các cao thủ chỉ giáo: chỉ với 1 mã cha đưa vào là lấy được ở table1 cả all mã cha + mã con.
    xin cảm ơn
    Làm việc với CSDL LK thì phải nắm vững quy luật toán
    Toán từ tương đuơng ( = ) có tính cách truyền

    nếu X = Y và X = Z thì X = Z

    cách viết của bạn:
    a.ma = b.ma_con and a.ma=b.ma_cha, tức là đỏi hỏi b.ma_con = b.ma_cha

    Đương nhiên là bạn sẽ không ra được dòng nào

    Thực sự chẳng hiểu bạn muốn liệt kê ra cái gì. Cho ví dụ cái mà bạn muốn lấy xem.

    tb. từ 'all' này bạn có ý gì? viết nửa tiếng Anh nửa tiếng Việt dễ kiểu lầm quá.

  3. #3
    Ngày gia nhập
    05 2011
    Bài viết
    17

    ở trong table 2 nó có
    "
    451 zzz
    45 xxx
    ....

    "
    như vậy là nó có cả mã cha (45), mã con(451). ý tôi là muốn lấy tất cả các mã cha, mã con xuất hiện trong table 2 ==> mà thỏa mãn điều kiện (mã cha, mã con) ở trong bảng table1.
    cám ơn.

  4. #4
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Cũng chẳng hiểu bạn muốn gì.
    Nếu muốn liệt kê tất cả các con của mỗi cha thì xem ở đây

    Nếu chỉ muốn liệt kê cha-con thì:

    select b1.ma [ma],
    coalesce(con.ten_ma, ' ') [ten_ma]
    coalesce(cha.ma_cha, ' ') [ma_cha],
    b1.noi_dung
    from bang1 b1
    left join bang2 con on b1.ma = b2.ma_con
    left join bang2 cha on con.ma_cha = cha.ma_con

    sẽ ra:
    Code:
    ma   ten_ma   ma_cha  noi_dung
    451  ma_con1  45      zzz
    45   ma_cha1          xxx
    461  ma_con2  46      sss
    46   ma_cha2          zzz
    47                    ww

  5. #5
    Ngày gia nhập
    05 2011
    Bài viết
    17

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Cũng chẳng hiểu bạn muốn gì.
    Nếu muốn liệt kê tất cả các con của mỗi cha
    Đúng rồi tôi muốn liệt kê tất cả các con của cha, và bao gồm cả cha nữa.


Các đề tài tương tự

  1. Làm Chữ chạy trên form C# như thẻ <marquee> trong HTML thế nào?
    Gửi bởi magnet241 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 05-04-2012, 11:55 AM
  2. In thẻ,hóa đơn từ các textbox,combobox,datetimepicker trong form C# như thế nào?
    Gửi bởi snoit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 04-04-2012, 03:13 PM
  3. Game Tạo Form trong suốt trong C# tựa game Thần Võ như thế nào?
    Gửi bởi tocvang_pro trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 21-09-2011, 04:21 PM
  4. Sử lí như thế nào khi nhập rất chậm trong trình xoạn thảo trong devC
    Gửi bởi toansvcn trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 13
    Bài viết cuối: 23-05-2011, 10:04 PM
  5. Code tìm kiếm trong cây nhị phân trong C++. Lỗi chỉ tìm được từ đầu tiên trong file thôi sửa thế nào?
    Gửi bởi elvish trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 1
    Bài viết cuối: 11-04-2010, 09:43 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn