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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как составить SQL запрос (двойной)
Покинул форум
Сообщений всего: 111
Дата рег-ции: Дек. 2011
Помог: 0 раз(а)
Здравствуйте!
Есть таблица в ней 4-е поля p1 , p2 , p3 , p4 - как сделать выборку когда идет поиск по нейже и надо чтоб выбрало когда результат = полям самой же таблицы? ( двойной запрос)
'SELECT * FROM LINKS WHERE (ORIGINAL_NUMS="'.$Number.'" AND ORIGINAL_BRAND="'.$Brand.'") OR (CROSS_NUMS="'.$Number.'" AND CROSS_BRAND="'.$Brand.'"
тоесть тут мы получим результат - несколько строк , а надо чтоб в 1 запросе этот же результат как бы сопоставлял с самой же таблицой с полями ORIGINAL_NUMS ORIGINAL_BRAND и уже получалась более по кол-ву выборка
Panoptik
Отправлено: 07 Мая, 2015 - 11:16:10
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
не совсем понятна суть вопроса.
что за выборка из выборки?
если что в запросе не закрыта скобка
и предпочтительней использовать тег SQL вмето PHP
----- Just do it
igor3310
Отправлено: 07 Мая, 2015 - 11:22:52
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Дек. 2011
Помог: 0 раз(а)
Это надо типа инер жоина или 2-го запроса к 1-й таблице - первый это поиск и будут совпадения (выберет несоклько строк) и надо что 2-й (как бы запрос ) вытянул еще строки совпадение которых есть с данными из первого запроса
и надо чтоб даные с 1 и 2 запроса были в общем резулте (Добавление)
Пришло в голову такое:
WHERE ORIGINAL_NUMS=O.ORIGINAL_NUMS AND ORIGINAL_BRAND=O.ORIGINAL_BRAND OR CROSS_NUMS=O.CROSS_NUMS AND CROSS_BRAND=O.CROSS_BRAND OR ORIGINAL_NUMS="'.$Number.'"AND ORIGINAL_BRAND="'.$Brand.'")OR(CROSS_NUMS="'.$Number.'"AND CROSS_BRAND="'.$Brand.'"(SELECT O.*FROM LINKS WHERE(ORIGINAL_NUMS="'.$Number.'"AND ORIGINAL_BRAND="'.$Brand.'")OR(CROSS_NUMS="'.$Number.'"AND CROSS_BRAND="'.$Brand.'")
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.