Уверен, на этот вопрос уже был дан ответ, но я не могу найти его или ответ был слишком сложным. Я новичок в SQL и не знаю, как это говорить в общем.SQL Возврат всех строк, где повторяются 2 значения
У меня есть база данных mySQL программного обеспечения, установленного на устройствах. Мой запрос, чтобы вытащить все данные, содержит больше полей и больше соединений, но для краткости я просто включил несколько. Мне нужно добавить другое измерение для создания отчета, в котором перечислены все случаи, когда устройство имеет более одной установки программного обеспечения из одного семейства продуктов.
Прямо сейчас у меня есть код вроде как это и не делать то, что мне нужно. Я видел некоторую информацию о exists
, но примеры не учитывали множественные объединения, поэтому синтаксис ускользает от меня. Помогите?
select
devices.name,
sw_inventory.product,
products.family_name,
sw_inventory.ignore_usage,
from sw_inventory
inner join products
on sw_inventory.product=products.product_name
inner join devices
on sw_inventory.device_name=devices.name
where sw_inventory.ignore=0
group by devices.name, products.family_name
Во-первых, у меня нет всей схемы и добавления нескольких примеров для схемы, и то, что ожидаемый результат выглядит, очень поможет. Тем не менее, я просто догадываюсь, что вы хотите «group by devices.name иметь счет (device.name)> 0' или что-то в этом роде. –
Ваш запрос плохо написан и неопределен. У вас есть столбцы в 'select'1, которые не агрегированы, ни аргументы для функций агрегации. –
Я сделал подмножество, так что, возможно, это мне больно. Но и да, я уверен, что это плохо написано! Отсюда вопрос :) – Allegra