mysql - запрос из 3-х таблиц???
Код:
table1{
id autoincrement,
state
}
table2{
id autoincrement,
t2_id,
name,
surname
}
table3{
id autoincrement,
t3_id,
age
}
id autoincrement,
state
}
table2{
id autoincrement,
t2_id,
name,
surname
}
table3{
id autoincrement,
t3_id,
age
}
Связка идет вот так:
table1.id=table2.t2_id и table1.id=table3.t3_id
Первая таблица - туда сладываются все id и расставляются state, которые равны или 2, тогда данные по нему 2 table2, или 3, тогда в table3.
Мне нужно сделать выборку из этих трехтаблиц данных так, чтобы они по одному разу вылезали. И все это сделать одним запросом...
У меня не получается, все записи дублирцуются по нескольку раз...ЧТо делать?
SELECT * FROM t1,t2,t3 WHERE t1.id=t2.t2_id or t1.id=t3.t3_id;
Если данные в t2 и t3 разные (нет t2_id=t3_id) то повторений быть не должно. Можно еще воспользоваться SELECT DISTINCT...
Цитата:
Originally posted by #define
Не очень понятно.. может так?
SELECT * FROM t1,t2,t3 WHERE t1.id=t2.t2_id or t1.id=t3.t3_id;
Если данные в t2 и t3 разные (нет t2_id=t3_id) то повторений быть не должно. Можно еще воспользоваться SELECT DISTINCT...
Не очень понятно.. может так?
SELECT * FROM t1,t2,t3 WHERE t1.id=t2.t2_id or t1.id=t3.t3_id;
Если данные в t2 и t3 разные (нет t2_id=t3_id) то повторений быть не должно. Можно еще воспользоваться SELECT DISTINCT...
В том-то и дело, что не хочет...Все равно повторяется.....
Что конкретно повторяется? Ряды? Привиди пример рузульитующей таблицы. SELECT DISTINCT пробовал?
Цитата:
Originally posted by dodger
В том-то и дело, что не хочет...Все равно повторяется.....
В том-то и дело, что не хочет...Все равно повторяется.....
Что бы ничего не повторялось укажи в явном виде какие поля из какой таблицы тебе нужны при их перемножениии:
SELECT t1.state,t2.name,t2.surname,t3.age FROM t1,t2,t3 WHERE t1.id=t2.t2_id or t1.id=t3.t3_id;
Кстати не ясно, идет ли речь о повторяющихся столбацах, или о повторяющихся строках.