База данных называется виджетами, она имеет "id" и "title". База данных двух называется виджетами-макетами и имеет "id модуля", "widget-id", "position" и "weight".
То, что я пытаюсь сделать, это проверить, существует ли widgets.id в widget-layout.widget-id, и если это так, то делает widget-layouts.position = 0. Я также хочу получить значения виджетов которые не существуют в макетах виджетов.
Вот запрос mysql, с которым я работал.
SELECT * FROM виджетов, виджетов-макетов WHERE (widge-layouts.position = '0' И widgets.id = widget-layouts.widget-id) ИЛИ widgets.id NOT IN (SELECT * FROM виджет-макеты)
С этим запросом я получаю огромный список виджетов, где каждый виджет отображается несколько раз.
Любые идеи об этом?
SELECT *
FROM widgets AS w
LEFT JOIN widget-layouts AS wl
ON w.id = wl.widget-id
WHERE wl.widget-id IS NULL
OR wl.position = '0'
SELECT * FROM widgets LEFT JOIN widget-layouts on widget-id = id WHERE position = 0
должны показать те, которые существуют, и имеют положение = 0
SELECT * FROM widgets RIGHT JOIN widget-layouts on id = widget-id where id is NULL
должны показывать те, которые существуют только в макетах виджетов