I have 3 connected tables and I have a single query to get a values from them. All of them have duplicates. Now I need all duplicates from 2 tables, but from third table I want to get only first distinct value and other to transform to NULL.
This is my query:
SELECT
operacije.nazivEng, slike.img_name, izvestaji.operacija
FROM izvestaji
INNER JOIN operacije
ON izvestaji.operacijaId=operacije.id
INNER JOIN slike
ON izvestaji.id=slike.izvestajId
WHERE izvestaji.operacija IN (
SELECT operacija
FROM izvestaji
WHERE projekatId='8'
AND datum='2019-10-03'
GROUP BY operacija)
AND izvestaji.projekatId='8' AND izvestaji.datum='2019-10-03'
GROUP BY slike.img_name,operacije.nazivEng, izvestaji.operacija
ORDER BY operacije.nazivEng DESC;
see the image
I tried this also
SELECT
operacije.nazivEng, slike.img_name, izvestaji.operacija
FROM izvestaji
INNER JOIN operacije
ON izvestaji.operacijaId=operacije.id
INNER JOIN slike
ON izvestaji.id=slike.izvestajId
WHERE izvestaji.operacija IN (
SELECT DISTINCT operacija
FROM izvestaji
WHERE projekatId='8' AND datum='2019-10-03')
izvestaji.operacija IN (
SELECT operacija
FROM izvestaji
WHERE projekatId='8' AND datum='2019-10-03'
GROUP BY operacija)
AND izvestaji.projekatId='8' AND izvestaji.datum='2019-10-03'
GROUP BY slike.img_name,operacije.nazivEng, izvestaji.operacija
ORDER BY operacije.nazivEng DESC