Mysql 从两个不同的表中选择数据
我不想写两个不同的查询,而是想写一个Mysql 从两个不同的表中选择数据,mysql,sql,sql-server,pdo,Mysql,Sql,Sql Server,Pdo,我不想写两个不同的查询,而是想写一个 $query = $pdo->prepare(" SELECT Car_Name FROM Car_data WHERE Car_Code = :carCode SELECT Fruit_Name FROM Fruit_Data WHERE Fruit_Code = :fruitCode; "); $query->bindPar
$query = $pdo->prepare("
SELECT Car_Name
FROM Car_data
WHERE Car_Code = :carCode
SELECT Fruit_Name
FROM Fruit_Data
WHERE Fruit_Code = :fruitCode;
");
$query->bindParam(':carCode', $header['Car_Code']);
$query->bindParam(':fruitCode', $header['Fruit_Code']);
$query->execute();
$result = $query->fetchAll(PDO::FETCH_ASSOC);
if (!empty($result)) {
}
我希望收到以下格式的数据:
如果两个表都有数据:
Car_Name = 'Golf'
Fruit_Name = 'Banana'
Car_Name = 'Golf'
Fruit_Name = ''
如果只有一个表有数据:
Car_Name = 'Golf'
Fruit_Name = 'Banana'
Car_Name = 'Golf'
Fruit_Name = ''
或
我怎样才能做到
$query = $pdo->prepare("
SELECT (SELECT Car_Name
FROM Car_data
WHERE Car_Code = :carCode ) as Car_Name ,
(SELECT Fruit_Name
FROM Fruit_Data
WHERE Fruit_Code = :fruitCode) as Fruit_Name;
");
使用子查询,这应该有效就性能而言,这比两个不同的查询更好吗?我认为这个答案会更快,因为只需要一个到db的连接,但您必须测试什么是最适合您的选项