Jim*_*y M 14 mysql sql join inner-join
我正在使用此查询:
SELECT a.sales_id, d.bus_title, a.cat_id
FROM tbl_sales a
INNER JOIN tb_category b ON a.cat_id = b.cat_id
INNER JOIN tbl_business d ON d.bus_id = a.bus_id
Run Code Online (Sandbox Code Playgroud)
产生这个结果:
sales_id | bus_title |cat_id
----------|----------------|------------
1 | Business 1 | 6
2 | Business 12 | 12
3 | Business 123 | 25
Run Code Online (Sandbox Code Playgroud)
我改变了场CAT_ID到一个名为新表tb_sales_category包含的字段sales_category_id,sales_id,cat_id.如何通过加入此表来编写新查询,得到与上面相同的结果?
我是数据库的新手,需要帮助.提前致谢
Mah*_*mal 14
试试这个:
SELECT a.sales_id, d.bus_title, s.cat_id
FROM tbl_sales a
INNER JOIN tb_sales_category s ON a.sales_id = s.sales_id
INNER JOIN tbl_business d ON a.bus_id = d.bus_id
INNER JOIN tb_category b ON s.cat_id = b.cat_id
Run Code Online (Sandbox Code Playgroud)
这个想法很简单,在新表中的第一场tb_sales_category,其sales_category_id工作作为代理键,它没有任何与其他两个表之间的关系.然后,我们来到了另外两个领域是哪些sales_id,cat_id这些你应该映射到关系的其他两个方面.
你不能再Join tb_category b ON a.cat_id = b.cat_id使用我们不再拥有的新模式了a.cat_id,这里有新的表tb_sales_category角色,通过插入两个绑定边,一个与INNER JOIN tb_category b ON s.cat_id = b.cat_id另一个,INNER JOIN tb_sales_category s ON a.sales_id = s.sales_id我们应该完成.
希望这是有道理的.
我不太喜欢内连接,所以试试这个:
SELECT a.sales_id, a.cat_id, c.bus_title
FROM tb_sales_category a, tb_sales b, tbl_business c
WHERE a.sales_id = b.sales_id
AND b.bus_id = c.bus_id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57029 次 |
| 最近记录: |