php - MySQL 查询 - 使用多个表

标签 php mysql

我有 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/

相关文章:

php - FOREACH 和 UPDATE mysql 不能一起工作

MySQL DB : Nullable bool in database column, 枚举或两个 bool 列,哪一个更高效?

php - 在网站 : Red5 stream or posting the audio data? 上录制音频

php - 是否可以在PHP中将WAV文件转换为AIFF,反之亦然?

php - Mysql从统计数据库中获取多个计数

php - 使 Satis 使用单个版本而不是整个存储库的正确语法是什么?

php - 使用外键将数据插入表中php

mysql - 结果集列的值为 BLOB

MySQL LEFT JOIN SUM 不包括 0

mysql - 如何修复具有许多表的数据库而不使用 Rails 匹配迁移