我有 4 张 table 。 (简化了问题的4个表格)
表 1:供应商 - ID、类型、TypeId、到期日期
表 2:SupplierType1 - Id、UserId、SupplierName
表 3:SupplierType2 - Id、UserId、SupplierName
表 4:用户 - ID、名称
所有 Id 都只是在其表中自动递增。
供应商: “类型”指的是供应商类型 1 或供应商类型 2
“TypeId”是来自SupplierType1 或SupplierType2 的“Id”。
在SupplierType1和SupplierType2中: 'UserId' 是用户的 ID
我有“UserId”(如下面的 X 所示)。我想返回一个包含以下列的列表: 供应商.Id、供应商类型1.零售名称、到期日期
其中(SupplierType1.UserId == 'X' ANDSupplier.TypeId ==SupplierType1 ANDSupplier.ExpiryDate < CurrentDate)
我最近才开始使用 mysql,我当前的解决方案似乎太麻烦了。渴望学习更好的方法来做到这一点。我将不胜感激的帮助。提前致谢!
最佳答案
查询
$qry = "
SELECT *
FROM Supplier s
LEFT JOIN SupplierType1 s1 ON s1.id=s.TypeId
LEFT JOIN User u ON u.Id=s1.UserId
WHERE s1.UserId='X' AND s.TypeId='SupplierType1' AND s.ExpiryDate<CURDATE()
";
关于php - MySQL 查询 - 使用多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36258977/