Select id-uri din tabel_1 cu Join tabel_2

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
sterica
Mesaje: 285

Select id-uri din tabel_1 cu Join tabel_2

Am urmatoarele tabele in sql:

Cod: Selectaţi tot

tbl_1
+---+--------+
|ID | NUME   |
+---+--------+
| 1 | Nume_1 |
| 2 | Nume_2 |
| 3 | Nume_3 |
+---+--------+

tbl_2
+---+----------+---------+
|ID | MENTIUNI | ID_NUME |
+---+----------+---------+
| 1 | abc      |   1     |
| 2 | abcd     |   2     |
| 3 | abc      |   1     |
| 4 | abcd     |   1     |
| 5 | abc      |   2     |
| 6 | abcd     |   3     |
+---+----------+---------+

SELECT tbl_1.NUME, count(tbl_2.MENTIUNI) AS NR_MENTIUNI
FROM tbl_1
LEFT JOIN tbl_2 ON tbl_1.ID = tbl_2.ID_NUME
WHERE tbl_2.MENTIUNI = 'abc'
Query-ul de mai sus imi selecteaza din tbl_1.ID, numai cele care se regasesc in tbl_2 sub conditia tbl_2.MENTIUNI = 'abc'

Cum pot afisa toate id-urile din tbl_1 chiar daca am acea conditie in where ?

Cod: Selectaţi tot

+------+-------------+
| NUME | NR_MENTIUNI |
+------+-------------+
|Nume_1|      2      |
|Nume_2|      1      |
|Nume_3|      0      |
+------+-------------+
Multumesc!

Edit:
Am uitat sa mentionez ca tbl_2 mai are o coloana AN iar in where mai am o linie de cod:

Cod: Selectaţi tot

AND tbl_2.AN = 2017

MarPlo Mesaje: 4343
Salut
Nu stiu sigur, incearca asa:

Cod: Selectaţi tot

SELECT tbl_1.ID, tbl_1.NUME, count(tbl_2.MENTIUNI) AS NR_MENTIUNI
FROM tbl_1
LEFT JOIN tbl_2 ON tbl_1.ID = tbl_2.ID_NUME
WHERE tbl_1.ID>0 OR (tbl_2.MENTIUNI = 'abc' AND tbl_2.AN = 2017)
- Daca nu rezulta cum vrei, poti face un alt Select pentru acele rezultate.

sterica Mesaje: 285
Am reusit cu un alt select pe care l-am introdus la form

Subiecte similare