2015-10-06 4 views
-3

жаль, что я не могу говорить по-английски очень хорошо, но у меня есть один вопрос,выберите вложенный запрос в MySQL, где table2 один столбец table1


У меня есть таблица с именем «myadv», это основная таблица , и у меня около 30-35 вспомогательных таблиц, которые связаны с «myadv», в «myadv» - это столбцовое имя «tbl», в этом столбце указано «название таблицы thta относится к любым строкам».

(для Пример: для id = x, tbl = table1 и для id = y tbl = table2 и ...) теперь я хочу выбрать из «myadv» и «myadv.tbl» одновременно (с одним запросом) плз помощь для решения этой problom

это мой запрос, но он не работает

SELECT * 
    FROM `main_t`, 
     (SELECT `col` FROM `main_t` WHERE `id`=?) AS `t` 
    WHERE `id`=? 

спасибо за вашу помощь

+0

не могли бы вы предоставить нам образец ввода и вывода? – 1000111

ответ

0

Это интересный дизайн, но я не думаю, что вы можете сделать что вы пытаетесь сделать. Для этого вам нужно написать запрос, который пишет и выполняет другой запрос на основе данных от myadv, и я не знаю, как это сделать. Я подозреваю, что есть лучший способ сделать то, что вы пытаетесь сделать, но не понимая своих данных, вам сложно посоветовать. Если вы можете отредактировать свой вопрос и добавить дополнительную информацию о своей таблице myadv и связанных с ней таблицах, мы можем помочь.

Кроме того, я не понимаю, как запрос, который вы отправили, который извлекает данные из main_t, относится к вашему вопросу об использовании таблицы с именем myadv.

Удачи.

0

я решить эту проблему, но, с работают только при запуске в Wamp SQL


SET @y = CONCAT ('SELECT col FROM', (выберите tbl из main_t, где main_id = '100') , 'где id = 100 в @outvar'); PREPARE stmt от @y; EXECUTE stmt; выберите @outvar;

как я могу запросить, что готов с подготовкой mysql, выполнить php?