לצורך עבודת מחקר עליה אני עובדת בימים אלו- רציתי לדעת האם יש אפשרות לחפש באתר ועדה לפי המשתתפות בה? כלומר, נניח שאני מחפשת ועדה שהשתתפו בה חברות הכנסת עליזה לביא, תמר זנדברג ומיכל בירן, האם יש לי אפשרות להגדיר חיפוש ספציפי שיעזור לי למצוא האם קיימת ועדה כזאת? אשמח לתשובה בהקדם! תודה
למיטב ידיעתי אין חיפוש כזה מוכן מראש. אבל אפשר להכנס ל- 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
פה יש מידע על הרצת שאילתות ורשימה של שאילתות קיימות
@Ziv_G - תרגיש חופשי להוסיף את השאילתה שלך לרשימה
פה -
כתבתי שאילתא משלי שתעשה את זה ושמרתי אותה ב-re:dash.
אפשר למצוא אותה כאן:
http://data.obudget.org/queries/719?p_mk_names=סתיו%20שפיר,יעקב%20ליצמן,מיכל%20בירן
והנה ה-SQL, ליתר ביטחון… (וכן, זה הכל שאילתת SQL אחת).
אנסה גם להוסיף ל-gitHub, נראה איך יילך
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