我有一张表格,里面有我库存的汽车类型:
Table cars
idCar | name
-------+-------
1 | car1
2 | car2
3 | car3
4 | car4
另一张桌子上有购买每辆车的客户:
Table sales
idCar | idCustomer
-------+------------
2 | cust1
2 | cust5
3 | cust5
3 | cust2
我将sales表的所有值都存储在PHP数组中。它看起来像这样:
array(4) {
[0]=> array(2) {
["idCar"]=> string(1) "2"
["idCustomer"]=> string(5) "cust1"
}
[1]=> array(2) {
["idCar"]=> string(1) "2"
["idCustomer"]=> string(5) "cust5"
}
.... //Here the rest of values
}
我要做的是获取特定客户购买的汽车(或汽车)的所有价值,例如cust5
。
因此,如果我在销售数组中搜索已经购买了客户cust5
的汽车,它应该返回给我idCar
,其值为2
和3
。我将idCar
和name
的值与MySQL
一起获得该值。
我尝试使用以下sql语句:
"SELECT * FROM cars WHERE FIND_IN_SET(idCar, $salesTable)";
其中$salesTable
是包含完整销售表的数组,但当然它不起作用,因为我试图直接解析数组,而不是idCar
的值。
我只想向{s}语句传递与特定客户匹配的idCar
的值,在本例中为cust5
。
有没有办法只获取PHP的某些函数所需的idCar
值,只给cust5
作为参数,这样我才能应用上面提到的sql语句?
提前致谢!
答案 0 :(得分:0)
SELECT c.*
FROM `cars` c
INNER JOIN sales s
ON s.idCar = c.id
AND s.idCustomer = 'cust5'