Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте.
Суть запроса такова - имеются люди в состоянии он-лайн, имеется таблица с местоположением. Соответственно написаны две выборки. И эти выборки как результат будут иметь одинаковое количество строк.
Моя мысль состоит в том, чтобы противопоставить в двух колонках ИМЯ-человека-онлайн | Местоположение.
Для примера:
Михаил | Крепость
Brav | Дом
и т.д.
Запрос я построил так:
SELECT `name`
FROM `characters`.`character`
WHERE online='1'
UNION
SELECT `location`
FROM `realm`.`zone`
WHERE zone_coordinates
IN (SELECT `zone` FROM `characters`.`character` WHERE `online` = '1')
Он полностью исполняется, как по частям, так и полнностью, но получается, что все данные записываются в один столбик. Это неудобно и неприемлимо.
Прошу, помощи.
Отредактированно Deus_Modus (07.03.2008 16:12:41)
Неактивен
В таблице MySQL нет понятия порядка строк. Поэтому синхронизовать людей и местоположение Вы не можете, если не имеете дополнительного индекса. Если же в каждой таблице у Вас есть индекс id, который нумерует строку, то можно связать по нему через JOIN
SELECT c.name, z.location FROM characters.character c , realm.zone z WHERE c.id = z.id;
Неактивен
Все равно не получается...
Структура такая
БД 1 - Characters
БД 2 - Realm
В БД Characters таблицы - Character, в ней столбцы(нужные в этом запросе) name,zone, guid(как раз тот самый уникальный id) и online
name и guid статичны, zone это число, такое же есть в таблице coordinates БД Realm, online принимает значение 0 или 1. Мне нужно только значение 1.
----
В БД Realm таблица - Zone в ней столбцы id, location, coordinates. id=location, т.е. все данные в этих столбцах идентичны.
Не получается сделать так - вывести два столбика
1. с пользователсями онлайн.
2. местоположение.
Как не представлялась эта выборка-
Найти всех кто он-лайн, взять значение зоны, вывести в 1-ый столбик кто он-лайн. Тут же ищем по Id зоны из первой БД название этой зоны из второй и выводим его.
Таким образом получается не
Vasya | 095
А, например
Vasya | Москва
Буду очень благодарен.
Отредактированно Deus_Modus (07.03.2008 17:11:40)
Неактивен
SELECT c.name,z.coordinates FROM Characters.Character c LEFT JOIN realms.zones z ON z.id=c.zone
Неактивен