안녕하세요. 저는 musicbrainz 데이터베이스를 사용하고 있으며 각 국가별로 모든 아티스트를 계산하는 데 어려움을 겪고 있습니다. 그러나 어떤 국가에서든 같은 오류가 발생해도 상관 없습니다. 누군가 내가 잘못한 것을 보여줄 수 있습니까?musicbrainz 국가 별 아티스트 수를 계산할 수 없습니다.
ERROR: column "%u%" does not exist LINE 7: WHERE AREA.NAME LIKE "%u%"
SELECT COUNT(artist.name)
FROM artist
JOIN area ON artist.area = area.id
JOIN label ON area.id = label.area
JOIN country_area ON area.id = country_area.area
JOIN release_country ON country_area.area = release_country.country
WHERE AREA.NAME LIKE "%dom"
GROUP BY release_country.country
limit 5;
UPDATE : 선생님 그냥 와서는 늘 하위 쿼리에서 작업을했다
musicbrainz_db=> SELECT COUNT(artist.name)
musicbrainz_db-> FROM artist
musicbrainz_db-> JOIN area ON artist.area = area.id
musicbrainz_db-> JOIN label ON area.id = label.area
musicbrainz_db-> JOIN country_area ON area.id = country_area.area
musicbrainz_db-> JOIN release_country ON country_area.area =
release_country.country
musicbrainz_db-> WHERE AREA.NAME LIKE '%dom'
musicbrainz_db-> GROUP BY release_country.country
musicbrainz_db-> limit 5;
ERROR: canceling statement due to statement timeout
?
select area.name, label_count
from area
where label_count in
(
select area.name, count(label.id) as "label_count"
from area
JOIN label on area.id = label.area
group by area.name
);
하위 쿼리는 정상적으로 작동하지만 기본 쿼리는 실패합니까? 어떤 생각인지.
에 사용되는 작은 따옴표와 시도는 더 많은 코드 .. plase을 보여줍니다. 이 쿼리를 사용하는 코드 표시 – scaisEdge
double 대신 작은 따옴표로 시도하십시오. 또한 보통 (거의 항상?) LIMIT 문과 함께 SELECT TOP을 사용하려고합니다. –
메신저가 터미널에서 내부 서버로 실행 중이면 모든 코드를 확인할 수 있습니다. – edwin