10/10/2018, 10:06
Select qua 1 bảng trung gian trong mysql
đã chỉnh sửa:
=================
Tình hình như sau:
Mình có 3 bảng:
+ baihat(baihat_id,baihat_ten,baihat_url)
+ baihat_casi(baihat_id,casi_id)
+ casi(casi_id,casi_ten,casi_tieusu)
mình muốn lấy thông tin của bài hát,và ca sĩ
SELECT baihat.baihat_id, baihat.baihat_ten,baihat.baihat_url,casi.casi_ten
FROM baihat, casi, baihat_casi
where baihat.baihat_id = baihat_casi.baihat_id
and baihat_casi.casi_id = casi.casi_id
nhưng nó lại không lấy được dòng nào hết
Mình chỉ mới học PHP thôi.Hixhix
Cảm ơn mọi người trước!!!!
=================
Tình hình như sau:
Mình có 3 bảng:
+ baihat(baihat_id,baihat_ten,baihat_url)
+ baihat_casi(baihat_id,casi_id)
+ casi(casi_id,casi_ten,casi_tieusu)
mình muốn lấy thông tin của bài hát,và ca sĩ
SELECT baihat.baihat_id, baihat.baihat_ten,baihat.baihat_url,casi.casi_ten
FROM baihat, casi, baihat_casi
where baihat.baihat_id = baihat_casi.baihat_id
and baihat_casi.casi_id = casi.casi_id
nhưng nó lại không lấy được dòng nào hết
Mình chỉ mới học PHP thôi.Hixhix
Cảm ơn mọi người trước!!!!
Bài liên quan
table 1 : bai_hat
id , ten , url , ca_si
table 2 : ca_si
id , ten , tieu_su
roài xong csdl.
roài tính đến việc select ra lại .
như ý bồ là lấy thông tin bài hát và thông tin ca sĩ thực hiện bài hát đó. tất nhiên đầu tiên phải biết id của bài hát là $id
select ten,url,ca_si from bai_hat where id = $id
trả dữ liệu về , lọc lấy dữ liệu ca_si ( id của ca sĩ thực hiện bài hát ấy ) là $ca_si_id
select ten , tieu_su from ca_si where id=$ca_si_id
Giữa table BaiHat và Casi là quan hệ nhiều - nhiều mà
@nqthanh95: Không ai tổ chức DB kỳ vậy, chỉ có 1 cột mà tách ra thành 1 table riêng. Nên bỏ hẳn cái tab baihat_casi mà chèn cái cột casi_id vào tab bài hát luôn sẽ hợp lý hơn
Table baihat_casi có bao nhiêu dòng ?
baihat_casi join với baihat có bao nhiêu dòng ?
baihat_casi join với casi có bao nhiêu dòng ?
Vấn đề ở dữ liệu
Table : baihat (baihat_id) 1 -> nhiều với Table baihat_casi(baihat_id)
Table : baihat_casi(casi_id) 1 -> nhiều với Table casi(casi_id)
Tóm lại chỉ là để giải quyết vấn đề trên thôi, thực ra chi cần 2 table là đủ