| 90 | } |
| 91 | |
| 92 | func TestUpdateBuilderFromSelect(t *testing.T) { |
| 93 | sql, _, err := Update("employees"). |
| 94 | Set("sales_count", 100). |
| 95 | FromSelect(Select("id"). |
| 96 | From("accounts"). |
| 97 | Where("accounts.name = ?", "ACME"), "subquery"). |
| 98 | Where("employees.account_id = subquery.id").ToSql() |
| 99 | assert.NoError(t, err) |
| 100 | |
| 101 | expectedSql := |
| 102 | "UPDATE employees " + |
| 103 | "SET sales_count = ? " + |
| 104 | "FROM (SELECT id FROM accounts WHERE accounts.name = ?) AS subquery " + |
| 105 | "WHERE employees.account_id = subquery.id" |
| 106 | assert.Equal(t, expectedSql, sql) |
| 107 | } |