SQL从一个表中选择具有另一个表的条件的项

时间:2016-07-06 11:16:08

标签: php mysql

我有两张桌子:

Accounts(ID, Name, Adress, Type)

Holidays(Name, StartDate, EndDate)

例如,来自帐户的类型列为SET("Manager","Director","Administrator")

两个列的名称列是相互关联的。当有人创建假期时,表格中的名称将是来自登录帐户的名称。

我想知道是否可以制作一个SQL语句,我可以在其中获取table1.type需要的所有表2" Director"并且Table1.name需要在假日。

2 个答案:

答案 0 :(得分:1)

SELECT * FROM Accounts as a, Holidays as h WHERE a.Name = h.Name AND a.Type = 'Director' 

这可以为您提供所需的所有条目。将a.Nameh.Name关联起来以确保您获得正确的组合非常重要。

答案 1 :(得分:0)

我认为这会成功。您不需要在假期中检查名称,因为当我们进行左连接时,我们说取两个表上名称相同的记录。如果不是假期,你就不会得到任何记录。

select Accounts.ID,Accounts.Name,Accounts.Adress,Accounts.Type,Holidays.Name,Holidays.StartDate,Holidays.EndDate from Accounts left join Holidays on Accounts.Name=Holidays.Name where Accounts.Type = "Director";