חיפוש ועדות בכנסת לפי חברי/ות כנסת שנכחו

לצורך עבודת מחקר עליה אני עובדת בימים אלו- רציתי לדעת האם יש אפשרות לחפש באתר ועדה לפי המשתתפות בה? כלומר, נניח שאני מחפשת ועדה שהשתתפו בה חברות הכנסת עליזה לביא, תמר זנדברג ומיכל בירן, האם יש לי אפשרות להגדיר חיפוש ספציפי שיעזור לי למצוא האם קיימת ועדה כזאת? אשמח לתשובה בהקדם! תודה :slight_smile:

@morchickit @yotammanor

למיטב ידיעתי אין חיפוש כזה מוכן מראש. אבל אפשר להכנס ל- data.obudget.org
ולשלוף ישירות ב-SQL בצורה כזו.
בהצלחה!

יותם

2016-09-01 12:46 GMT+03:00 mary info@hasadna.org.il:

זה הכי קרוב שהצלחתי בינתיים:
השאילתא הראשונה תמצא לך את כל הועדות שלפחות אחד מהח"כים שרשמת מופיעים בהן, בסדר יורד לפי כמות הח"כים שציינת שחברים באותה ועדה (אין צורך בפסיקים).

השאילתא השניה תראה לך את כל חברי הכנסת שחברים בועדה מסוימת לפי שם הועדה.

את השאילתות את מזינה בדף הזה:
http://data.obudget.org/queries/new

מוזמנת לפנות אליי עם שאלות/בקשות.
זיו.

SELECT
cc.name, count(distinct m.name)
FROM committees_committee_members AS c
INNER JOIN mks_member AS m ON m.id = c.member_id
INNER JOIN committees_committee cc ON c.committee_id = cc.id
where 'יואל רזבוזוב, נאוה בוקר, מנואל טרכטנברג, עודד פורר’
like ‘%’ || m.name || '%'
group by cc.name order by 2 desc

SELECT m.name,cc.name
FROM committees_committee_members AS c
INNER JOIN mks_member AS m ON m.id = c.member_id
INNER JOIN committees_committee cc ON c.committee_id = cc.id
where cc.name = 'הוועדה המיוחדת לדיון בהצעה לסדר היום בנושא קשיים ברפורמה בשירות המדינה’
order by 1

לייק 1

פה יש מידע על הרצת שאילתות ורשימה של שאילתות קיימות

@Ziv_G - תרגיש חופשי להוסיף את השאילתה שלך לרשימה

פה -

כתבתי שאילתא משלי שתעשה את זה ושמרתי אותה ב-re:dash.

אפשר למצוא אותה כאן:
http://data.obudget.org/queries/719?p_mk_names=סתיו%20שפיר,יעקב%20ליצמן,מיכל%20בירן

והנה ה-SQL, ליתר ביטחון… (וכן, זה הכל שאילתת SQL אחת).
אנסה גם להוסיף ל-gitHub, נראה איך יילך :open_mouth:

WITH mk_id_t AS (
  	SELECT id
  	FROM mks_member
  	WHERE replace(name,'`','') LIKE ANY (
       SELECT trim(replace(format('%s', UNNEST), '`',''))
        FROM unnest(string_to_array('{{mk_names}}',',') )
  	)	 
),
-- Helper Query 2: mk aliases
mk_aliases AS (
  	SELECT p.mk_id, trim(a.name) AS name
	FROM persons_person p
	INNER JOIN mk_id_t t
			ON p.mk_id = t.id
	INNER JOIN persons_personalias a
			ON a.person_id = p.id
),
-- Helper Query 3: Get all alt names with ids
ids_and_names AS (
  SELECT id, name
  FROM (
      SELECT id, name, rank() over (partition by id order by trim(name)) rank_on_name
      FROM (
        SELECT mk_id AS id, trim(name) AS name
        FROM persons_person
        WHERE mk_id IN (SELECT * FROM mk_id_t)

            UNION 

        SELECT id, trim(name) AS name
        FROM mks_member
        WHERE id IN (SELECT * FROM mk_id_t)

            UNION 

        SELECT member_id AS id, trim(name) AS name
        FROM mks_memberaltname
        WHERE member_id IN (SELECT * FROM mk_id_t)

            UNION 

        SELECT mk_id AS id, name FROM mk_aliases aliases
      ) ranked
  	) final
  	WHERE rank_on_name = 1 /* Take only the first name for each MK */	
),
num_of_mks_queried AS (
  SELECT COUNT(DISTINCT id) distinct_mks FROM ids_and_names
),
attendance AS (
  SELECT mks_attended.committeemeeting_id, mks_attended.member_id, ids_and_names.name
  FROM committees_committeemeeting_mks_attended mks_attended
	INNER JOIN ids_and_names
	ON mks_attended.member_id = ids_and_names.id
),
attendance_agg_cnt AS (
  SELECT committeemeeting_id, COUNT(DISTINCT member_id) unique_mks_in_meeting 
  FROM attendance
  GROUP BY committeemeeting_id
)


SELECT 	committees.unique_mks_in_meeting,
		committees.participating_mks,
		cm.date meeting_date,
		cm.topics meeting_title,
		'https://oknesset.org/committee/meeting/'||cm.id||'/' meeting_url
FROM (
  SELECT a.committeemeeting_id, agg.unique_mks_in_meeting, string_agg(a.name, ', ') participating_mks
  FROM attendance a
      INNER JOIN attendance_agg_cnt agg
      ON a.committeemeeting_id = agg.committeemeeting_id
  WHERE agg.unique_mks_in_meeting > 1
  GROUP BY a.committeemeeting_id, agg.unique_mks_in_meeting
) committees
	INNER JOIN committees_committeemeeting cm
	ON committees.committeemeeting_id = cm.id
WHERE cm.committee_id != 19 -- ללא המליאה
ORDER BY unique_mks_in_meeting DESC, meeting_date DESC
לייק 1