MySQL查询问题与选择
我有两个表 “客户端” 和数据库中的 “建议”,MySQL查询问题与选择
db.client => ID,名称
db.proposal => clientID的,投标套件
select * from proposal
将选择所有ClientID的投标套件和
我想查询,以便它打印所有proposal.proposalID与client.name代替clientID的
另一种方法,以 “加盟” 两个表:
SELECT proposal.proposalID, client.name
FROM client, proposal
WHERE proposal.clientID = client.id;
警告:我没有测试这一点。
为了理解发生了什么,我建议您了解有关SQL联接的更多信息。 一些链接,让你开始:
http://www.w3schools.com/sql/sql_join.asp
避免使用此旧式语法。对于像这样的非常简单的查询来说没问题,但对于更复杂的查询会变得混乱。使用'JOIN ... ON'可以将连接标准保留在相关表格的旁边,并使'WHERE'子句仅包含过滤标准。 – nnichols 2012-03-16 23:12:45
我刚刚注意到这个答案已被接受。我写这个来显示另一种方法(除了使用'JOIN'关键字),但是,正如nnichols所指出的,我建议避免使用这种语法,特别是对于复杂的语句。 – 2012-03-16 23:33:00
只需使用一个join:
SELECT client.name, proposal.proposalID
FROM client
JOIN proposal
ON proposal.clientID = client.id
;
开始阅读有关SQL连接 – 2012-03-16 22:54:11
其迷惑我,我是考虑到它会使用内部连接,但令人困惑,我认为内连接不会解决我的问题。其他的解决方案,我必须在PHP中创建一个循环来获取每个id的名称,这显然是最糟糕的想法 – user794624 2012-03-16 22:54:19
@ user794624,因为Mark建议您最好阅读关于连接的更多信息。虽然我不会在这里使用'INNER'加入,但我会使用一个。 – SeeSharp 2012-03-16 22:56:41