Sql và foreach
-
Cho em hỏi làm sao để thay thế lần lược giá trị trong foreach vào chuỗi lệnh sql ạ:
var xx = "SELECT * FROM user_info WHERE id = ? OR id = ? OR id = ?" ; json.forEach(e => { }
-
@Tú-Đc Ý tưởng có thể làm như thế này:
var json = [1, 2, 3]; var query = "SELECT * FROM user_info WHERE 1 = 2"; var cond = json.reduce((con, e) => con + ` OR id = ${e}`, ''); var fullQuery = query + cond; console.log(fullQuery);
Demo: https://jsfiddle.net/vunb/xuj9x407/3/
Câu hỏi là sao bạn không dùng
IN
mà dùngOR
?? Nếu chuyển sang dùng IN thì bạn có thể làm tương tự như trên nhé.
-
Hồi đầu cũng dùng OR :)). Về sau toàn IN.
-
Chỉ giúp em dùng in như thế nào luôn ạ @@
-
@Tú-Đc WHERE column_name IN (value1, value2, ...);
Vầy thôi e. Kiểu như e có idid1
id2
id3
đi ha. Thì cái này nó match những thằng có status trong cái list id bạn truyền vào thôi. Nếu dùng OR thì có case khi nào pattern như not dễ sử dụng hơn :3. Còn truyền query cứ In nó hợp với design restful đó. Mình thì tuổi k lớn lắm. Nên gọi bạn được rồi.
-
@Nguyen-Hien À e hiểu rồi. thank anh