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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: действие только для существующих записей
 
 автор: keyses   (24.03.2011 в 14:51)   письмо автору
 
 

Есть 2 таблицы t1 и t2, тоесть по факту одна, но в запросе я её размножаю.
Там есть поле menu типа boolean, мне нужно в where составить условие так, чтобы выбирались только t1.menu = 1 и если существуют t2.menu = 1 то выбирать и их.
А то у меня получается что t1.menu = 1 а для него нет соответствующих t2 и возвращается пустой результат, а мне нужно чтобы вернулся t1.menu.

Загвоздка как раз состоит в том, чтобы проверить во время выполнения условия, существует ли хотя бы одно t2.menu = 1

  Ответить  
 
 автор: cheops   (24.03.2011 в 17:04)   письмо автору
 
   для: keyses   (24.03.2011 в 14:51)
 

Хм... как выглядит запрос сейчас? Возможно вам подойдет соединение по LEFT JOIN?

  Ответить  
 
 автор: Keyses   (24.03.2011 в 18:27)   письмо автору
 
   для: cheops   (24.03.2011 в 17:04)
 

поясню ещё раз, мне нужно:
1. выбираются все записи где t1.menu = 1
2. проверяется существует ли хотябы одна запить t2.menu = 1
3. если существует, то выбираем все t2.menu = 1

это всё должно быть в where, но как это реализовать, я не понимаю.

  Ответить  
 
 автор: cheops   (24.03.2011 в 19:07)   письмо автору
 
   для: Keyses   (24.03.2011 в 18:27)
 

1. Таблицы t1 и t2 как связаны?
2. Таблицы t1 и t2 - это разные таблицы или это псевдонимы одной таблицы?

  Ответить  
 
 автор: Keyses   (24.03.2011 в 19:43)   письмо автору
 
   для: cheops   (24.03.2011 в 19:07)
 

псевдоним одной таблицы, связаны через LEFT JOIN

  Ответить  
 
 автор: cheops   (24.03.2011 в 19:54)   письмо автору
 
   для: Keyses   (24.03.2011 в 19:43)
 

Тогда не понятна фраза "чтобы выбирались только t1.menu = 1 и если существуют t2.menu = 1", если у вас таблицы связаны, то зачем два этих условия, одного должно быть достаточно? Если не сложно покажите запрос, возможно, вам стоит обратиться не к прямому объединению, а к объединению таблицы с результирующей таблицей подзапроса к этой таблице (т.е. переместить WHERE-условие в подзапрос).

  Ответить  
Rambler's Top100
вверх

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