Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

150
Views
Consulta SQL anidada donde la identificación de una tabla coincide con otra tabla donde existen dos entradas específicas

Tengo dos tablas: person_demographics, person_social_profile, que están vinculadas por la columna person_id

p_d representa personas únicas, p_s_p representa sus cuentas de redes sociales

p_d solo tendrá una entrada por person_id, pero p_s_p tendrá muchas filas por la misma person_id

Necesito obtener un recuento de cuántas personas en la base de datos viven en Alemania, extraído de la columna 'país' en p_d donde también existe una cuenta social en p_s_p de facebook, Y también existe una cuenta social para twitter.

tengo hasta ahora

 select person_id from person_demographics pd where pd.country like '%Germany%' or pd.country = 'DE'

para seleccionar el conjunto de person_id's para usuarios que viven en Alemania, y

 select * from person_social_profiles psp where psp.person_id <is in previous results> and (psp.source = 'facebook' or psp.source = 'twitter')

Entonces tengo la idea de hacer groupbykey en person_id y contar los grupos con > 1 entradas, para obtener el recuento de usuarios únicos que viven en Alemania y tienen Facebook y Twitter, pero tengo problemas para encadenarlo todo en una sola consulta. Cualquier sugerencia sería muy apreciada, gracias.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Yo sugeriría dos niveles de agregación:

 select count(*) from (select pd.person_id from person_demographics pd join person_social_profiles psp on psp.person_id = pd.pser_id where (pd.country like '%Germany%' or pd.country = 'DE') and psp.source in ('facebook', 'twitter') group by pd.person_id having count(distinct psp.source) = 2 ) pd;
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!