select * from deliveries, remittance
表 'deliveries' 有 10 条记录,而表 'remittance' 没有。此查询不返回任何结果。我想要的是mysql从表'deliveries'中返回10条记录。请帮我。
这是一个示例表
交货 -> trans_number from to
汇款 -> trans_number from to
select * from deliveries, remittance
表 'deliveries' 有 10 条记录,而表 'remittance' 没有。此查询不返回任何结果。我想要的是mysql从表'deliveries'中返回10条记录。请帮我。
这是一个示例表
交货 -> trans_number from to
汇款 -> trans_number from to
您可能需要使用LEFT JOIN
:
select deliveries.*
from deliveries
left join remittance on ... -- put a join condition here.
deliveries
即使在另一个表中找不到匹配的行,这也会返回表中的所有记录。
如果你使用INNER JOIN
它不会返回任何行,因为另一个表是空的。但它只会为您提供deliveries
与条件匹配的行。
尝试类似的东西
select * from deliveries
left join remittance
on remittance.id = deliveries.remittance_id
它将带来所有数据deliveries
和匹配数据remittance
更新:
如果您想在任何情况下显示记录,如果任何表有记录,那么您正在寻找FULL OUTER JOIN
但由于mysqlFULL OUTER JOIN
不支持,请尝试此查询
SELECT * FROM deliveries
LEFT JOIN remittance ON remittance.id = deliveries.remittance_id
UNION
SELECT * FROM deliveries
RIGHT JOIN remittance ON remittance.id = deliveries.remittance_id
尝试这个
select d.* , r.* from deliveries d , remittance r
您需要给出一些标准,以便mysql
可以显示表格的结果..像加入
SELECT * FROM deliveries
LEFT JOIN remittance
ON remittance.id = deliveries.remittance_id
尝试这个
select d.* from deliveries d left join remittance r