我有这两个表:
+=============+ +==================+
| space_table | | price_table |
+=============+ +==================+
| space_id | | price_id |
+-------------+ +------------------+
| some_column | | space_id |
+-------------+ +------------------+
| condition1 |
+------------------+
| condition2 |
+------------------+
现在,我尝试将space_table
中的这两项合并,并检索一条记录,其中condition1
上的condition2
和price_table
具有一定的价值。困难的部分是space
可能有很多price
,而我需要的是当所有具有特定空格的价格都具有特定值时。
我尝试:
$query->whereNotExists(function ($query) {
$query->selectRaw('space_table.* from space_table')
->join('price_table', 'space_table.space_id', '=', 'price_table.space_id')
->where('condition1.company_id', '>', 0)
->where('condition2', '>', 0)
->groupBy('space_table.space_id');
});
以上代码未检索任何内容。
我也尝试这样做:
$query->selectRaw('space_table.*')
->join('price_table', 'space_table.space_id', '=', 'price_table.space_id')
->where('condition1', 0)
->where('condition2', 0)
->groupBy('space_table.space_id');
上面的代码检索了一些不正确的数据,例如当1个空间具有2个价格(仅1个合格)但无论如何都被检索了(当2个价格合格时我需要的是)。
我已经为此工作了3天,我真的需要任何帮助和/或建议。
谢谢。