Здравствуйте! Помогите соединить две таблицы. Уже как только join не пробовал, не получается. Есть две таблицы:
block
blockID
blockType
block_text
textID
blockID
name
Во второй таблице идет blockID элементов первой таблицы. Как можно соединить две таблицы, если я знаю что blockID = 3 во второй таблице, и вывести join-ом лишь один blockType для этого id? Все время выводятся и все другие в столбике, а нужен один.
SELECT block_text*, block.blockType FROM block_text
JOIN block_text ON block_text.blockID = block.blockID WHERE block_text.blockID = 3
У Вас в запросе почему-то идёт джоин той же таблицы, что и селект,
но потом Вы используете "block"
Как такой запрос вообще выполнился...
Да и зачем Вам соединять у Вас ведь связь идёт по blockID
а blockID как Вы пишите, Вы уже знаете, что он равен 3,
запрос то тогда
SELECT block.blockType FROM block WHERE block.blockID = 3
Спасибо. Все так, но зная blockID мне нужно вывести данные из таблицы block_text, а потом еще всего одно значение из таблицы block - blockType. Может здесь я не к месту использую join и лучше двумя запросами?
godpop: однозначно не к месту! Join он именно соединяет (если совсем просто и грубо)! Для выборки лишь одного значения лучше использовать другой запрос.