[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: IN при left join
Страницы: 1, 2
Zzepish
Есть две таблицы
user posted image
user posted image
Ввожу запрос

SELECT * FROM `orders`
LEFT JOIN
`wreck_cats`
ON
`wreck_cats`.`id` IN (`orders`.`wreck_list`)

Однако выводит всего один результат
user posted image
почему?
sergeiss
У тебя там, в поле `wreck_list`, находится текстовая строка, верно? Так с чего бы так джойнить должно???

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zzepish
sergeiss
так через запятую же! Я всегда в IN подаю текст через запятую же
А как можно иначе реализовать?
Zzepish
просто когда пихаем массив из php, мы же склеиваем его через implode в строку
Oyeme
Не верная архитектура
Должна быть еще одна таблица wreck_list с Id
Всего у Вас получиться 3 таблицы и 2 join
sergeiss
Цитата (Zzepish @ 18.06.2014 - 00:32)
так через запятую же!

Что именно "через запятую"-то? Ты не ответил на вопрос: там у тебя символьная строка в этом поле?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zzepish
Oyeme
почему не верная? я расчитывал на ON.
С ним как-то реально сделать ?
На 3-х я бы и сам реализовал
Zzepish
sergeiss
да. обычная строка varchar.
А можно как-то под данную ситуацию подстроить другой тип?
sergeiss
Цитата (Zzepish @ 18.06.2014 - 00:59)
да. обычная строка varchar.

Ну наконец-то ответил :) Тебе правильно сказал Oyeme, нужна 3-я таблица. А так, как ты сделал, не получится.


PS. Попробуй запустить вот такой запрос:
select * from ... where id in ( '1,2,3,5' )

где id-поле целого типа. А внутри IN - строка. О результатах расскажешь :) Ты пытаешься сделать именно такую шнягу.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zzepish
sergeiss
да я догадывался! но была надежда. А типа нет другого? что сработало?
sergeiss
Цитата (Zzepish @ 18.06.2014 - 01:09)
А типа нет другого? что сработало?

Ну ты, прямо, как дитё малое:
Цитата (sergeiss @ 18.06.2014 - 01:01)
Тебе правильно сказал Oyeme, нужна 3-я таблица.


В данном случае это и есть "другой тип - другая таблица".

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zzepish
sergeiss
ты не понял! я имел в виду- тип данных в виде массива
sergeiss
Цитата (Zzepish @ 18.06.2014 - 02:02)
я имел в виду- тип данных в виде массива

http://www.postgresql.org/docs/9.2/static/datatype.html

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zzepish
sergeiss
нифига себе там типов!
sergeiss
Цитата (Zzepish @ 18.06.2014 - 02:53)
нифига себе там типов!

И более того:

Цитата
Users can add new types to PostgreSQL using the CREATE TYPE command.


И это только типы данных... Оцени разницу с Мускулем, с его типами данных. И отличаются они далеко не только типами данных. Теперь начинаешь понимать, почему я говорю о том, что Постгре лучше Мускуля?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.