2016-05-25 12 views
5

kullanma knexjs yalnızca (kitaplık) Aşağıdaki sorguda böyle bir şey yapmak istiyorum:Knexjs ile .where() işlevindeki iki sütunu nasıl karşılaştırabilirim?

select * from table1 where column1 < column2 

Ancak, böyle yaptığımda: knexjs SQL üretir

.table("table1").select().where("column1", "<", "column2") 
olduğunu

:

select * from table1 where column1 < 'column2' 

İstenen sonucu vermeyen b/c, sütundaki değeri karşılaştırmıyor, 'column2' dizesinin değerini karşılaştırıyor.

İstediğimi nasıl yapacağını bilen var mı? Teşekkürler!

cevap

7

Tamam, biraz kazma işleminden sonra, bu yolunda yapılabilir. Bu en iyi uygulama, ama başka türlü duyana kadar şu anda, o kadar çalışırsa ... Emin değilim

.table("table1").select().where("column1", "<", knex.raw("table1.column2")) 

Yine, ideal değil ama bu iş bitmiş olur. Sadece ne olursa olsun dosya bu kullandığınız üstündeki

import knex from "knex"; 

emin olun.

+2

.whereRaw ("?? ?? =", [ "sütun1", "sütun2"]) de çalışır –

İlgili konular