У меня есть семинары, в которых есть производители, одна мастерская может иметь много производителей, но только один чиновник. Я хочу, чтобы все мастерские, которые имеют производителя 22, но если у них есть тот же чан получить только семинар, который производитель является OfficalГруппа Mysql по полю и поле предпосылки = 1 в таблице соединений
У меня есть 2 таблицы, первый семинар
id | name | vat
-------------------------
1 | name 1 | B12
2 | name 2 | B12
3 | name 3 | B12
4 | name 4 | E98
5 | name 5 | A99
второй workshop_manufacturer
id | workshop_id | manufacturer_id | official
----------------------------------------------
1 | 1 | 22 | 0
2 | 2 | 22 | 0
3 | 3 | 22 | 1
4 | 4 | 22 | 0
5 | 5 | 22 | 1
5 | 5 | 23 | 0
5 | 5 | 24 | 0
Я хочу получить уникальные семинары (группа от vat), но я хочу получить официальный (официальный = 1), если есть много мастерских с одним ваттом, которые работают с этим производителем.
Если я сделать этот запрос:
SELECT t1.*,t2.* FROM workshop t1
INNER JOIN workshop_manufacturer t2 ON t1.id=t2.workshop_id
WHERE t2.manufacturer.id = 22
GROUP bY t1.vat
я получаю это:
id | name | vat | official | manufacturer_id
-----------------------------------------------
1 | name 1 | B12 | 0 | 22
4 | name 4 | E98 | 0 | 22
5 | name 5 | A99 | 1 | 22
и я хочу это:
id | name | vat | official | manufacturer_id
-----------------------------------------------
3 | name 3 | B12 | 1 | 22
4 | name 4 | E98 | 0 | 22
5 | name 5 | A99 | 1 | 22
Все семинары, которые являются официальными и не официальные, но отдавая приоритет тем, кто является официальными
проверить эту ссылку, вы можете получить некоторое представление о том, как группа по работе [PHP MySQL GROUP BY ... получить последнее вхождение ] (http://stackoverflow.com/questions/12368974/php-mysql-group-by-get-the-last-occurence) – muneeb