ГОРМ «НЕ В» подзапрос - PullRequest
       10

ГОРМ «НЕ В» подзапрос

0 голосов
/ 20 ноября 2018

Я хочу выполнить подзапрос, например:

 SELECT id, col1, col2 FROM table1 WHERE col1='val1' and col2 NOT IN (
  SELECT ID FROM table2 WHERE col1='val1' and col3 = 'val3')

Как я могу использовать GORM для его выполнения?

1 Ответ

0 голосов
/ 20 ноября 2018

GORM может составить запросов.

Написать стандартный запрос и затем вызвать метод .SubQuery():

sub := db.Table("table2").Select("ID").Where("col1 = ?", 'val1').SubQuery()

The youможно поместить его в качестве параметра в методе .Where()

err := db.Table("table1").Where("col2 NOT IN ?", sub).Find(&table1Type).Error
//handle the error
...