09/10/2018, 23:57

cho em hỏi về MySQL

Chào các bác. Cho em hỏi câu này về MySQL nhe.

Làm sao để viết 1 câu select với điều kiện id = tất cả các phần tử trong 1 mảng.
Theo em biết nếu select đk là 1 mảng thì mình dùng WHERE id IN('aa','bb'). Nhưng nếu vật chỉ cần id = 'aa' or id = 'bb' là thỏa điều kiện rồi (ở đây yêu cầu là id = 'aa' and id ='bb'). Mình viết như thế nào hiệu quả nhất nhỉ?
Hay là mình tách các chuỗi trong mảng ra rồi dùng điều kiện "and". Các bác chỉ giúp nhe. Thanks nhiều nhiều!!
conmeocattai viết 02:02 ngày 10/10/2018
Được gửi bởi JVC
id = 'aa' and id ='bb'
ID gì mà lại bằng cả 2 aa lẫn bb hở bác
gaconit viết 02:03 ngày 10/10/2018
Hi hi nình không dám nói là hiểu biết nhiều, nhưng không biết cái điều kiện của bạn sử dụng trong trường hợp nào vậy. Thường người ta so sánh điều kiện id = gì đó với câu lệnh AND thì chỉ duy nhất 1 câu lệnh, nếu có yêu cầu thêm thì AND với cái field khác. Đúng ko nè, 1 id sao mà vừa =1 vừa =2 dc.
hoangtuera viết 01:58 ngày 10/10/2018
"Ai đi" là bằng.... "ai đi"
Sao bằng cái khác mà làm chi

Đọc lại cú pháp select nhé: http://dev.mysql.com/doc/refman/5.0/en/select.html
JVC viết 02:07 ngày 10/10/2018
Sorry mình diễn đạt sai rồi, ý của mình là vậy nè:

Mình có 1 bảng có 2 field: nid,oid. Cả 2 field này điều là khóa chính. Mình có dữ liệu như sau:

nid | oid
1 | 111
1 | 112
1 | 113
2 | 111
2 | 113
3 | 114

Giả sử mình muốn lấy nid nào vừa có oid là 111 và 112 thì làm sao? ở đây sẽ trả về nid = 1
Ý của mình là vậy đó, các bạn giúp dùm nhe, còn câu này nữa là xong bài rồi. hic
3do viết 01:58 ngày 10/10/2018
hãy thử

Code:
SELECT a.nid
FROM `tbl` a
INNER JOIN `tbl` b
USING ( nid )
WHERE a.oid =111
AND b.oid =112
đừng hỏi em tại sao lại viết như vậy
JVC viết 02:07 ngày 10/10/2018
Nếu không phải là 111, 112 mà là một mảng bất kỳ thì sao nhỉ?
3do viết 02:02 ngày 10/10/2018
nếu có N phần tử thì phải inner join N lần.

Thật ra đây là phép giao (intersaction) nhưng mysql ko support cái này
jiSh@n viết 02:05 ngày 10/10/2018
Được gửi bởi JVC
Nếu không phải là 111, 112 mà là một mảng bất kỳ thì sao nhỉ?
Bạn đang làm bài tập vế Lý Thuyết CSDL hay MySQL?
Bài liên quan
0