双表选择显示?

时间:2011-03-25 12:02:30

标签: php mysql

我遇到了问题......我有2个表,Table1和Table2。

Table1:
id,int(11)
text,varchar(11)

Table2:
id,int(11)
agentid,int(11)  
unique(id,agentid)

Table2中有许多id和agent ID。表2中id的数据来自表1。

我有一个年龄,说$援助。这表2中有许多与之相关的id。

我正在尝试从表1中获取与所有与表2中的agentid $ aid相关的ID相关联的文本值集。

这有意义吗?!

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

select * from table1 as t1 inner join table2 as t2
on t1.id = t2.id
where agentid = $aid

答案 1 :(得分:0)

查询:

$sql = "select t1.text from table1 t1, table2 t2 where t2.id = t1.id and t2.agentid = {$aid}";

尽量不要将$ aid直接包含在查询中,而是将其转义和/或使用带有查询参数的预准备语句。

答案 2 :(得分:0)

select text from table1 where id in
(
select id from table2 where agentid = <your aid>
)

这将为您提供给定agentid的所有文本行。 使用join也可以做同样的事情 -

select t1.text from table1 t1 
inner join table2 t2
on t1.id = t2.id
where t2.agentid = <your aid>