Aktywne Wpisy

tangens_kutangens +629
Czy tylko mnie tak poruszyła śmierć tego żołnierza?
Człowiek się przyzwyczaja do tych wszystkich złych wiadomości, którymi jesteśmy karmieni, a to mnie ruszyło.
Do tego świadomość, że doskonale zdawali sobie sprawę z jego beznadziejnego stanu i przez tydzień to ukrywali.
Ja #!$%@?, szkoda tego chłopa.
#polska #granica #wojna
Człowiek się przyzwyczaja do tych wszystkich złych wiadomości, którymi jesteśmy karmieni, a to mnie ruszyło.
Do tego świadomość, że doskonale zdawali sobie sprawę z jego beznadziejnego stanu i przez tydzień to ukrywali.
Ja #!$%@?, szkoda tego chłopa.
#polska #granica #wojna
źródło: pap_20230920_1Z0
Pobierz
Xefirex +146






Mireczki mam taki problem - tabelka sentences w relacją 1:n do sentencetranslations.
Potrzebuje z bazy danych wybrać ID wszystkich "sentences" które mają do siebie przypisane mniej niż 2 "sentencetranslations".
Próbowałem w ten sposób:
SELECT sentences.id,COUNT(sentence_translations.id) AS transCount FROM sentences LEFT OUTER JOIN sentence_translations ON sentences.id = sentence_translations.id GROUP BY sentences.id;I dostaje faktycznie rezultat z formie "id","transCount" i dane są poprawne, tzn. pokazuje ile dla danej sentencji o danym ID istnieje tłumaczeń. Ale problem jest taki, że potrzebuje do tego dołożyć ORDER, LIMIT do paginacji i dodatkowo wyfiltrować żeby wyszukiwaniu podlegały tylko rekordy które mają mniej niż 2 tłumaczenia.
Problem w tym że dowalenie WHERE transCount < 2 wywala query że nie ma takiej kolumny transCount co same w sobie jest dość logiczne, ale nie wiem jak ten temat ruszyć dalej.
Dodam jeszcze że produkcyjnie ta tabelka będzie miała ponad 500,000 rekordów więc musi być to coś z samym SQLem.
Pomocy :(
wersja mysql:
mysql Ver 14.14 Distrib 5.5.50, for debian-linux-gnu (x8664) using readline 6.3
błąd:
mysql> SELECT sentences.id,COUNT(sentencetranslations.id) AS transCount FROM sentences LEFT OUTER JOIN sentencetranslations ON sentences.id = sentencetranslations.id HAVING COUNT(sentence_translations.id) < 2 GROUP BY sentences.id;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
źródło: comment_YCqoaow0cg10ru90WYBs5CGyhq0dUbck.jpg
Pobierz