Mysql 使用左联接从多个表中选择
我有三张桌子Mysql 使用左联接从多个表中选择,mysql,Mysql,我有三张桌子 t1 (select these records) ------------- id offer_id business_id t2 (offer details) ------------- id offer_details business_id t3 (business details) ------------- id business_name 我需要从t1中选择所有记录,并从t2和t3中添加信息。似乎是基本的,但我似乎不能得到它的权利-必须是热 SELECT t
t1 (select these records)
-------------
id
offer_id
business_id
t2 (offer details)
-------------
id
offer_details
business_id
t3 (business details)
-------------
id
business_name
我需要从t1中选择所有记录,并从t2和t3中添加信息。似乎是基本的,但我似乎不能得到它的权利-必须是热
SELECT t2.offer_details, t3.business_name
FROM t2
LEFT JOIN t1 ON (t1.offer_id = t2.id)
LEFT JOIN t3 ON (t1.business_id = t3.id)
这个怎么样
Select t2.offer_details, t3.business_name
From t1
Left Join t2 ON (t1.offer_id = t2.id)
Left Join t3 ON (t1.business_id = t3.id)
这个怎么样
Select t2.offer_details, t3.business_name
From t1
Left Join t2 ON (t1.offer_id = t2.id)
Left Join t3 ON (t1.business_id = t3.id)
应该是
SELECT t2.offer_details, t3.business_name
FROM t1
LEFT JOIN t1 ON (t1.offer_id = t2.id)
LEFT JOIN t3 ON (t1.business_id = t3.id)
您的潜在客户表是t1,连接应基于此表
SELECT t2.offer_details, t3.business_name
FROM t1
LEFT JOIN t1 ON (t1.offer_id = t2.id)
LEFT JOIN t3 ON (t1.business_id = t3.id)
您的lead表是t1,连接应该基于此表如果您想要t1中的所有记录,请在所选零件上添加t1.*。假设t1中的所有ID都存在于其他两个表中
SELECT
t1.*, t2.offer_details, t3.business_name
FROM
t1
JOIN t2 ON t2.id = t1.offer_id
JOIN t3 ON t3.id = t1.business_id
如果t1中的ID在t2或t3中可能丢失,请修改为左联接。如果您想要t1中的所有记录,请在所选零件上添加t1.*。假设t1中的所有ID都存在于其他两个表中
SELECT
t1.*, t2.offer_details, t3.business_name
FROM
t1
JOIN t2 ON t2.id = t1.offer_id
JOIN t3 ON t3.id = t1.business_id
如果t1中的ID在t2或t3中可能丢失,请修改为左连接。似乎正确。。。展示一个合适的样本为什么你认为这是错误的?我得到的结果来自于那些不在t1中的企业。。。并且多次重复相同的优惠。您将获得由于左键连接而不在t1中的业务。更改为加入,则在t1中只能获得业务。还可以将查询中的主表从t2更改为t1。似乎正确。。。展示一个合适的样本为什么你认为这是错误的?我得到的结果来自于那些不在t1中的企业。。。并且多次重复相同的优惠。您将获得由于左键连接而不在t1中的业务。更改为加入,则在t1中只能获得业务。另外,将查询中的主表从t2更改为t1。t1只包含其他表中记录的ID。然后删除t1。*。您应该获得t1上列出的所有报价ID和业务ID。t1只包含其他表中记录的ID。然后删除t1。*。您应该获得t1上列出的所有报价ID和业务ID。