Скажем, у меня есть стол с двумя колонками: имя и настроение. Строка содержит имя человека и их настроение, если у них много настроений, тогда в БД хранится несколько строк.Как я могу выбрать данные mysql с инструкцией объединения, где данные соответствуют каждому оператору select, т. Е. Объединить оператор AND с UNION?
Например, в базе данных находится Джон, который счастлив, взволнован и горд.
Это представлено как
John Happy
John Excited
John Proud
То, что я хочу сделать, это выбрать имя на основе нескольких настроений удовлетворяются. Похож на UNION:
SELECT name WHERE mood=Happy
UNION
SELECT name WHERE mood=Excited
UNION
SELECT name WHERE mood=Proud
Однако использование вышеуказанного союза приведет к:
John
John
John
Союз все приведет к одному результату одного Иоанна, но было бы также выбрать любые имена, которые соответствуют только одному запросов.
Я могу придумать несколько алгоритмов, которые будут принимать каждый отдельный ресурс mysql_result (я использую PHP), и искать соответствующие результаты, но то, что я хочу знать, заключается в том, облегчает ли MySQL это.
Я понимаю, что вышеизложенное является довольно смутным обобщением, само собой разумеется, что моя фактическая программа намного сложнее, и я немного замалчивал ее на этот вопрос, пожалуйста, не стесняйтесь задавать вопросы.
Спасибо, я использовал первый, он работает совершенно отлично, я проверяю CRON на дубликаты каждую ночь, поэтому не беспокойтесь. Что касается обновления, он не возвращает никаких результатов, какая разница должна быть сделана? Спасибо большое. – Sam
Логика с HAVING практически такая же, не знаю, есть ли какая-либо разница в производительности. –