2013-12-18 54 views
0

我们有两个2表:我们是否需要为此SQL语句加入JOIN?

tbl_projekte [uid,werbemittel,projekt_name,kunden_id] 

tbl_kunden [uid, kunden_name] 

我们使用这些语句从tbl_projekte选择的记录:

SELECT * FROM tbl_projekte WHERE werbemittel ='12' ORDER BY kunden_id ASC 

我们如何获得SQL语句ORDER BY kunden_name?

感谢您提前提供任何帮助!

+3

在'tbl_kunden'表中看到'kunden_name'而不是'tbl_projekte'表,是的,你需要'JOIN'。 –

+0

在这里发布德国专栏名称,让来自世界各地的用户感到非常困惑。你也应该避免在你的应用程序中。 – hek2mgl

回答

1

是的,你需要为这个

SELECT p.* 
FROM tbl_projekte p 
INNER JOIN tbl_kunden k on k.uid = p.kunden_id 
WHERE p.werbemittel ='12' 
ORDER BY k.kunden_name ASC 
0

联接如果要通过客户名称订购,然后再去做这样:

SELECT p.uid, p.werbemittel, p.projekt_name 
FROM tbl_projekte p 
LEFT JOIN tbl_kunden k ON k.uid = p.kunden_id 
WHERE werbemittel ='12' 
ORDER BY k.kunden_name ASC 
0

的“”是一个隐含的自然连接:

SELECT * 
FROM tbl_projekte, tbl_kunden 
WHERE werbemittel ='12' 
ORDER BY kunden_name ASC 

如果你想明确:

SELECT * 
FROM tbl_projekte NATURAL JOIN tbl_kunden 
WHERE werbemittel ='12' 
ORDER BY kunden_name ASC 

“自然联接”合并具有相同值的主键(在您的情况下为uid)的表。