我有这张表:
tbl_1
+---+--------+
|ID | NAME |
+---+--------+
| 1 | Name_1 |
| 2 | Name_2 |
| 3 | Name_3 |
+---+--------+
tbl_2
+---+----------+---------+
|ID | MENTIUNI | ID_NAME |
+---+----------+---------+
| 1 | abc | 1 |
| 2 | abcd | 2 |
| 3 | abc | 1 |
| 4 | abcd | 1 |
| 5 | abc | 2 |
| 6 | abcd | 3 |
+---+----------+---------+
SELECT
tbl_1.NAME,
count(tbl_2.MENTIUNI) AS NR_MENTIUNI
FROM tbl_1
LEFT JOIN tbl_2 ON tbl_1
tbl_1.ID = tbl_2.ID_NAME
WHERE tbl_2.MENTIUNI = 'abc'

在tbl_2 sub conditia tbl_2.MENTIUNI =' abc'
Cum pot afisa toate id-urile din tbl_1 chiar daca am conditie in where?
以上查询从tbl_1.ID中选择我,仅在条件tbl_2.MENTIUNI =' abc'
条件下从tbl_2中找到即使我的条件在哪里,如何在tbl_1中显示所有ID?
+------+-------------+
| NAME | NR_MENTIUNI |
+------+-------------+
|Name_1| 2 |
|Name_2| 1 |
|Name_3| 0 |
+------+-------------+

谢谢!
答案 0 :(得分:1)
将条件从整个查询移动到SELECT
tbl_1.NAME,
count(tbl_2.MENTIUNI) AS NR_MENTIUNI
FROM tbl_1
LEFT JOIN tbl_2
ON tbl_1.ID = tbl_2.ID_NAME
AND tbl_2.MENTIUNI = 'abc'
子句,因此它只过滤要连接的第二个表中的记录。像这样:
gradient = np.gradient(self.image)
gradient_norm = np.sqrt(sum(x**2 for x gradient))
for dim in gradient:
np.divide(dim, gradient_norm, out=dim)
np.nan_to_num(dim, copy=False)