select * from deliveries, remittance
表'deliveryies'有10条记录,而表'汇款'没有。此查询不返回任何结果。我想要的是mysql从表'deliveries'返回10条记录。请帮帮我。
这是一个示例表
交付 - > trans_number 从 到
汇款 - > trans_number 从 到
答案 0 :(得分:3)
您可能需要使用LEFT JOIN
:
select deliveries.*
from deliveries
left join remittance on ... -- put a join condition here.
这将返回deliveries
表中的所有记录,即使在另一个表中找不到匹配的行也是如此。
如果您使用INNER JOIN
,它将无法返回任何行,因为另一个表为空。但它只会给你deliveries
中符合条件的行。
答案 1 :(得分:2)
尝试类似
的内容select * from deliveries
left join remittance
on remittance.id = deliveries.remittance_id
它会带来deliveries
的所有数据和remittance
<强>更新强>
如果您想在任何情况下显示记录,如果任何表有记录,那么您正在寻找FULL OUTER JOIN
但由于mysql不支持FULL 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
答案 2 :(得分:1)
试试这个
select d.* , r.* from deliveries d , remittance r
答案 3 :(得分:0)
您需要提供一些条件,以便mysql
可以显示表格的结果。例如加入
答案 4 :(得分:0)
SELECT * FROM deliveries
LEFT JOIN remittance
ON remittance.id = deliveries.remittance_id
答案 5 :(得分:0)
试试这个
select d.* from deliveries d left join remittance r