Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: конструкция IN (столбец_таблицы)

Сообщения:  [1-4] 

 
 автор: Valick   (21.03.2012 в 01:24)   письмо автору
 
   для: yadyra   (21.03.2012 в 01:17)
 

таких записей всего-то около 10
тогда пишите одушевленный на против собаки и все, зачем вторая таблица?
__
Спасибо что так оперативно
угу, как раз собрался выключать комп... после пробежки по Дуротару)))

  Ответить  
 
 автор: yadyra   (21.03.2012 в 01:17)   письмо автору
 
   для: Valick   (21.03.2012 в 01:13)
 

Спасибо что так оперативно, иначе бы долго искала ответ. Да, можно сделать еще и таблицу связей, но не хотелось из-за пустяка, таких записей всего-то около 10. Жаль что не работает :)

  Ответить  
 
 автор: Valick   (21.03.2012 в 01:13)   письмо автору
 
   для: yadyra   (21.03.2012 в 00:58)
 

1) во второй таблице у вас в поле значения через запятую, это нарушает принцип нормализации БД (грубо говоря этого быть не должно если не хотите гемора)
2) если необходимо организовать отношение многие ко многим, то нужна третья таблица, называемая таблицей связи
3) (a.code IN (b.codes)) не работает потому что не должно работать :)

  Ответить  
 
 автор: yadyra   (21.03.2012 в 00:58)   письмо автору
 
 

Привет. Хочу сделать выборку примерно таким образом:
SELECT * FROM `table1` AS a, `table2` AS b WHERE (a.code IN (b.codes))

Но увы, не работает (0 строк)
table1 имеет структуру id, code(varchar(255)), name(varchar(255))
table2 имеет структуру id, codes(varchar(255)), name(varchar(255))
Для наглядности:
table1:
1, "1.0.0", "Забор";
2, "1.0.1", "Дверь";
3, "1.0.2", "Лопата";
4, "2.0.1", "Собака";
table2:
1, "1.0.0, 1.0.1, 1.0.2", "Неодушевленные"
2, "2.0.1", "Одушевленные".
Таким образом, хочу выбрать неодушевленные и одушевленные предметы, например.
Если подставить напрямую (a.code IN (1.0.0, 1.0.1, 1.0.2, 1.0.3)), все отлично, а вот со столбцом не получается. Как быть?

  Ответить  

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования