Сижу 2 часа, не могу разобраться как получить данные из двух таблиц... всегда спасала конструкция вида ... LEFT JOIN table2 USING(id) ...
. Но не в этот раз:
Есть 2 таблицы:
table1:
| sid | aid | foo1
| 1 | 1 | bar1
| 1 | 1 | bar1
| 1 | 1 | bar1
| 1 | 1 | bar1
| 1 | 1 | bar1
| 1 | 2 | bar11
| 1 | 2 | bar11
| 1 | 2 | bar11
table2:
| sid | aid | foo2
| 1 | 1 | bar2
| 1 | 1 | bar2
| 1 | 1 | bar2
| 1 | 1 | bar2
| 1 | 1 | bar2
| 1 | 2 | bar22
| 1 | 2 | bar22
| 1 | 2 | bar22
связывающие поля - sid
и aid
Запрос:
SELECT table1.foo1, table2.foo2 FROM `table1` LEFT JOIN table2 USING(sid, aid) WHERE sid = 1 AND aid = 1
Ожидание:
| sid | aid | foo1 | foo2
| 1 | 1 | bar1 | bar2
| 1 | 1 | bar1 | bar2
| 1 | 1 | bar1 | bar2
| 1 | 1 | bar1 | bar2
| 1 | 1 | bar1 | bar2
вместо этого получаю много повторяющихся строк... помогите составить запрос
Если не вдаваться в странности представленной структуры, то:
select distinct table1.sid, table1.aid, table1.foo1, table2.foo2
from table1, table2
where table1.aid = table2.aid
and table1.sid = table2.sid
and table1.sid = 1
and table1.aid = 1
Вам нужно больше почитать про нормализацию запросов сикивела. Как написал коллега выше есть обычный джойн (который скорее всего вам и нужен). А LEFT JOIN соединяет таблицы таким образом, что при отсуствии совпадений с основной таблицей, в присоединяемой таблице будут пустые места.
SELECT table1.*, foo2 FROM `table1` JOIN
(select distinct * from table2) X
USING(sid, aid) WHERE table1.sid = 1 AND table1.aid = 1
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем привет, есть проект с аунтификацией пользователей через социальные сети, но он, к сожалению, сконфигурирован на xmlМне надо помощь перевести...
Всем доброго времени с утокПодскажите, как заставить Intellij Idea подключать файл css стилей к jsp странице? Файл стилей лежит в одной директории...
Есть сортировка методами Хоара, QuickSort(secondMethod) и методом пузырька(firstMethod)
ЗдравствуйтеЕсть строка наподобие этой: "Истомин Денис - Попырин Алексей 0-0(3-2) 40:15 adv"