表a:
field1 field2
x1 x1
表b:
field 1
x1
如何在表b中选择field1 =表a的字段1?
如果表b的名称是表a的field1,那么执行连接的语法是什么,因为所选表是a.field1
这是我正在使用的实际查询:
mysql_query("SELECT * FROM tags WHERE id3='$value' AND flag!='w' AND visibility='t' JOIN tags.albumid WHERE photoid=tags.photoid AND visibility!='d' ORDER BY datetimep DESC LIMIT 200");
答案 0 :(得分:2)
根据您的任务的复杂程度,您可以简单地连接具有相同值的行:
Select * from a, b where a.field1 = b.field2
或使用联接:
select a.*
from Tableb b
join Tablea a
on a.field1=b.field1
在第一种情况下,如果要避免多行包含相同数据,则可能需要使用Distinct
关键字再次过滤
对于连接,有不同的类型。见eggyal的链接。
答案 1 :(得分:0)
了解SQL joins:
SELECT * FROM tablea JOIN tableb USING (field1)
答案 2 :(得分:0)
select a.*
from Tableb b
join Tablea a
on a.field1=b.field1
答案 3 :(得分:0)
假设要加入的字段名在两个表中都相同:
SELECT fieldx, fieldy FROM table_1 NATURAL JOIN table_b
如果要加入的字段名不相同 - 或者您希望显式,因为您可能有其他具有相同名称的字段名 - 您必须通过JOIN .. ON
或JOIN .. USING
指令指定这些字段名。 / p>
答案 4 :(得分:0)
select a.field1, a.field2 from table a, table b
where a.field1=b.field1;
答案 5 :(得分:0)
select * from table_a join table_b
USING (field1)
请参阅: MySql Join