W moim projekcie RoR istnieje model klienta z 10 atrybutami. Teraz chcę znaleźć tych klientów, którzy mają co najmniej trzy wspólne atrybuty. Jak sprawnie wykonać to zapytanie?Znajdź zduplikowany rekord dla 3 wspólnych atrybutów
Prawdopodobnie jest to rozwiązanie:
Customer.select([:first_name,:last_name,:language]).
group(:first_name,:last_name,:language).having("count(*) > 1")
Ale to rozwiązanie wymaga zbyt wiele, aby sprawdzić połączenie. Pomóż w lepszym rozwiązaniu.
Dzięki! Z góry.
Nie, to jest inne pytanie. Powyższe jest, gdy dokładnie wiemy, że te dwie podane kolumny pasują do siebie. To pytanie zadaje pytanie, czy dwie z trzech możliwych kolumn pasują do –
@Taryn East: Niestety to rozwiązanie nie rozwiązuje mojego problemu. Ponieważ oczekuję tych klientów, którzy mają co najmniej trzy wspólne atrybuty. W każdym razie, dzięki, za twój komentarz. –
Nie zaproponowałem żadnego rozwiązania. Głosowałem przeciwko zamknięciu sprawy i podałem powód, dla którego nie głosowałem, aby zamknąć sprawę jako duplikat. Mój komentarz był dla faceta, który głosował, aby zamknąć jako duplikat, nie dla ciebie - przepraszam - nie mam rozwiązania. –