Mysql多选和&加入

时间:2010-12-07 12:51:26

标签: mysql join multiple-tables

我有这个问题:

SELECT suppliers.*, porders.om_quote_no, orders.project_ref 
FROM suppliers, porders, orders 
WHERE suppliers.supp_short_code = suppliers.supp_short_code

porders是包含supp_short_codeom_quote_no的表格,orders是包含supp_short_codeproject_ref的表格,suppliers所有详细信息都包含supp_short_code列。我试图找到一个人可以看到一个supp_short_code并查看对其发出的命令的点。 IE浏览器。 supp_short_code是每个表格中的公共列!

这可能吗??

3 个答案:

答案 0 :(得分:2)

SELECT s.*,p.om_quote_no,o.project_ref FROM 
orders AS ord,porders AS p,suppliers AS s WHERE o.supp_short_code = p.supp_short_code AND      o.supp_short_code = s.supp_short_code

感谢。

答案 1 :(得分:0)

不知道我的问题是否正确。特别是你的WHERE子句让我感到困惑。

这个怎么样:

SELECT 
s.*,
p.om_quote_no,
o.project_ref
FROM
orders o
INNER JOIN porders p ON o.supp_short_code = p.supp_short_code
INNER JOIN suppliers s ON o.supp_short_code = s.supp_short_code

答案 2 :(得分:0)

执行两个单独的select语句可能更有意义:

SELECT suppliers.*, porders.om_quote_no
FROM suppliers, porders
WHERE suppliers.supp_short_code = porders.supp_short_code

SELECT suppliers.*, orders.project_ref 
FROM suppliers, orders 
WHERE suppliers.supp_short_code = orders.supp_short_code

如果porders.om_quote_noorders.project_ref属于同一类型,则可以将两个结果合并为UNION。

相关问题