Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вопрос по выборке их двух таблиц
Форумы портала PHP.SU » » Вопросы новичков » Вопрос по выборке их двух таблиц

Страниц (1): [1]
 

1. alnik-75 - 02 Января, 2015 - 20:03:51 - перейти к сообщению
Добрый вечер, форумчане!!!

С праздником Вас всех!!!!

Мне нужна консультация:
Есть две таблицы. При формировании запроса должно быть выполнено условие:

Возможны случаи, когда pole1 у tbl1 пустое, тогда должно быть выполнено условие:

Если pole2 пустое, тогда должно сработать условие :


Заранее неизвестно будут ли у tbl1 заполнены указанные поля. Можно ли указывать в таком случае условие, указанное ниже?
PHP:
скопировать код в буфер обмена
  1.  
  2. tbl2.a = tbl1.pole1 or tbl2.a = tbl1.pole2 or tbl2.a = tbl1.pole3
  3.  


Заранее выражаю благодарность.....
2. kotyara1979 - 02 Января, 2015 - 20:30:05 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. tbl2.a = tbl1.pole1 OR tbl2.a = tbl1.pole2 OR tbl2.a = tbl1.pole3


Да, так можно.

Если есть и другие условия, то просто оберните это в скобки.

CODE (SQL):
скопировать код в буфер обмена
  1. WHERE (tbl2.a = tbl1.pole1 OR tbl2.a = tbl1.pole2 OR tbl2.a = tbl1.pole3) AND tbl1.b>10
3. alnik-75 - 02 Января, 2015 - 20:40:09 - перейти к сообщению
небольшое уточнение. Если pole1 != "", то совпадений по pole2 и pole3 не должно проверяться. соответственно, если pole1 = "", а pole2 != "", то не должно действовать
4. kotyara1979 - 02 Января, 2015 - 20:46:29 - перейти к сообщению
Постройте условие следующим образом и получите искомое.
CODE (SQL):
скопировать код в буфер обмена
  1. tbl2.a = tbl1.pole1 OR (tbl2.a = tbl1.pole2 AND tbl1.pole1='') OR (tbl2.a = tbl1.pole3 AND  AND tbl1.pole1='' AND tbl1.pole2='')
5. alnik-75 - 02 Января, 2015 - 20:58:22 - перейти к сообщению
Спасибо, буду проверять)))))))

 

Powered by ExBB FM 1.0 RC1