【发布时间】:2016-05-15 14:29:55
【问题描述】:
我想根据某些选择条件为真显示 Table1 中的所有结果,并根据对 Table2 的某些满意条件将 Table1 中的每个结果的变量设置为 0 或 1。
SELECT * FROM Table1 WHERE Some_Condition=true
Foreach Table1.Name
SELECT IF(TID IS NULL, 0, 1) AS Variable FROM Table2
WHERE
Table2.Name=Table1.Name AND Table2.Val='p'
如何将这一切整合到一个 SQL 调用中?
我希望看到的示例调用是:
表1:
+----+-------------------+
| ID | Name |
+----+-------------------+
| 1 | John |
+----+-------------------+
| 2 | Alan |
+----+-------------------+
表 2:所以这里存在 Alan 和 Val='p',而不仅仅是存在
+-------+-----------+-----+
| TID | Name | Val |
+-------+-----------+-----+
| 1 | Alan | p |
+-------+-----------+-----+
我想要来自 SINGLE SELECT 语句的 SQL 结果:
+------+----------+
| Name | Variable |
+------+----------+
| John | 0 |
+------+----------+
| Alan | 1 |
+------+----------+
【问题讨论】: