
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|||||||
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: ★ЛжеЭксперт★ ![]() Сообщений: 26774 Пользователь №: 21350 На форуме: Карма: 756 ![]() |
Вообщем есть 3 таблицы с данными - у каждой есть столбец `prid` - по нему соб-но и выборка.
Главная `product` - из остальных 2х нужно всё запихать по `prid` (SELECT * FROM `product` LEFT JOIN `product_namefeat_value` USING(prid)) с ON `product`.`prid` = `...`.`prid` - тоже не проканывает. Спустя 1 час, 35 минут, 22 секунды (7.08.2012 - 09:26) johniek_comp написал(а): хз мож так попробуй SELECT p.*,t2.*,t3.* FROM product AS p,t2,t3 Спустя 2 минуты, 45 секунд (7.08.2012 - 09:29) Игорь_Vasinsky написал(а): а разница? что с альясами, что без них, толи во втором JOIN WHERE юзать... Спустя 1 минута, 54 секунды (7.08.2012 - 09:31) johniek_comp написал(а): Игорь_Vasinsky опиши подробно, напишу запрос, я наверно не понял чуток Спустя 7 минут, 6 секунд (7.08.2012 - 09:38) Игорь_Vasinsky написал(а): смотри есть 3 таблицы - в каждой есть столбец `prid` t1 - из этой таблицы берутся данные и дополняются из таблиц t2 и t3 - связь - столбец `prid` специально prid делал везде, думал чтоб обойтись без ON - чисто с USING Спустя 11 минут, 54 секунды (7.08.2012 - 09:50) Placido написал(а): Не понял, а чем обычный JOIN не подходит? SELECT `p`.*, `pn`.*, `i`.* FROM `product` `p` Спустя 5 минут, 5 секунд (7.08.2012 - 09:55) Игорь_Vasinsky написал(а): Я не видел раньше такого синтаксиса
щас проверю. Спустя 56 минут, 44 секунды (7.08.2012 - 10:51) Игорь_Vasinsky написал(а): гоню. это я криворукий. спс.+ Спустя 2 дня, 1 час, 28 минут, 13 секунд (9.08.2012 - 12:20) Игорь_Vasinsky написал(а): Обнаружил баг если какая нить таблица не содержит значений в поле `prid` - пре выборке `prid` == null в моём случае именно таблица `images` - не содержит вообще записей в итоге Array из за чего так? Спустя 52 минуты, 46 секунд (9.08.2012 - 13:12) inpost написал(а): если я правильно понял, ты не выбирай через * всё, не делай * ко всем таблицам. Можешь так сделать: main.*, second.`image`,third.`feat` , в таком роде. Спустя 5 минут, 12 секунд (9.08.2012 - 13:18) Игорь_Vasinsky написал(а): мне нужны все столбцы во всех таблицах попробывал явно указать имента столбцов - без результата Спустя 19 минут, 14 секунд (9.08.2012 - 13:37) Invis1ble написал(а): выложи тестовый дамп и еще раз сформулируй задачу, потому что я например так и не понял толком, что ты хочешь сделать Спустя 7 минут, 46 секунд (9.08.2012 - 13:45) Игорь_Vasinsky написал(а): есть 3 таблицы `product` `product_namefeat_value` `images` cвязь у этих таблиц по столбцу `prid` (product id) мне нужно сделать выборку по `prid` CREATE TABLE IF NOT EXISTS `images` ( Спустя 17 минут, 8 секунд (9.08.2012 - 14:02) Invis1ble написал(а): select p.*, i.image, pnv.namefeat, pnv.feat, pnv.featval если одна из таблиц пуста - конечно ты получишь null в качестве значений соответствующих полей Спустя 2 минуты, 32 секунды (9.08.2012 - 14:04) Игорь_Vasinsky написал(а): гениально. просто не указывать в SELECT ту ячеку, которая может оказаться null - правильно понял? Спустя 12 минут, 44 секунды (9.08.2012 - 14:17) Invis1ble написал(а):
в принципе да, но я не это хотел донести а почему ты вообще так боишься null ? ) Спустя 5 минут, 57 секунд (9.08.2012 - 14:23) Игорь_Vasinsky написал(а): ну получается что при выборке prid=null, а я его использую для указания индекса элемента массива. Спустя 11 минут, 22 секунды (9.08.2012 - 14:34) Invis1ble написал(а): ну в итоге решена проблема, получается? Спустя 41 секунда (9.08.2012 - 14:35) Игорь_Vasinsky написал(а): да, спс. плюсанул) Спустя 16 секунд (9.08.2012 - 14:35) inpost написал(а): Игорь_Vasinsky SELECT t1.*,t2.*,t3.*,t1.`prid` AS `special_prid` Спустя 2 минуты, 3 секунды (9.08.2012 - 14:37) Игорь_Vasinsky написал(а): и что это даст? ![]() Спустя 1 минута, 43 секунды (9.08.2012 - 14:39) inpost написал(а): Игорь_Vasinsky а то, что из первой таблицы у тебя будет в special_prid - нужный тебе prid, с ним и работай, а на prid обычный забить можешь. Спустя 4 минуты, 22 секунды (9.08.2012 - 14:43) Игорь_Vasinsky написал(а): а... у меня просто уже 20 мин пере глазами всё плывёт) показалось что так
не заметил t1.`prid` ![]() -------------------- HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
|
||||||
![]() |
![]() ![]() ![]() |