SQL查询 - 我可以查询两个都有ID字段的表并检索这两个字段吗?

时间:2017-03-15 14:32:13

标签: php mysql

我有两张桌子。两者都有名为“ID”的字段。

Table 1 has "ID", "Title", "Shift"
Table 2 has "ID", "Table1ID", "Details"

我想查询表2并根据“ID”值检索所有详细信息,但也从表1中获取与“Table1ID”值相关的值。

我试过这个...... SELECT * FROM Table2 a, Table1 b WHERE a.TableID = b.ID

这可以工作但只检索一个表“ID”字段。

我一直在玩UNION ALL,但无法让它发挥作用。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:1)

是的,您可以添加别名:

SELECT a.ID AID, a.Title, a.Shift, b.ID BID, b.TableID, b.Details 
FROM Table2 a, Table1 b 
WHERE a.TableID = b.ID

以上内容将在结果中以IDAID的形式从表A和B返回BID

答案 1 :(得分:1)

  

有没有办法让SELECT获取所有字段(没有   明确地写它们)并且仍然是别名的特定字段?

是的,但它被认为是有害的

这就是你如何做id

SELECT Table1.*,Table2.* from table1 inner join Table2 on Table1.ID = Table2.Table1ID;

为什么我说它有害,请看这里:Why is SELECT * considered harmful?

正确选择应该是:

SELECT Table1.ID,Table1.Title,Table1.Shift,Table2.ID.Table2.Table1ID,Table2.Details.* from table1 inner join Table2 on Table1.ID = Table2.Table1ID;