У меня есть две таблицы SQL, A и B. Каждая таблица имеет идентификатор первичного ключа. Таблица B имеет поле X (которое может быть NULL), которое ссылается на идентификатор A (если оно не равно NULL).
Тогда мне нужен список (хранящийся в файле) идентификаторов объектов, хранящихся в таблице A.
Какие идентификаторы вы предлагаете использовать, A.ID или B.ID в списке? (Понятно, что имея идентификатор строки в B, мы можем вывести идентификатор строки в A, при условии, что эта строка в B имеет ненулевой X.)
[ДОБАВЛЕНО] Понятно: объект частично хранится в A и частично в B.
[ДОБАВЛЕНО] Структура таблиц (z_users - B, z_clients - A, z_users.client - поле X):
CREATE TABLE `z_users` (
`id` int(10) unsigned NOT NULL auto_increment,
`password` varchar(255) collate utf8_bin NOT NULL,
`fullname` varchar(255) collate utf8_bin NOT NULL,
`phone` varchar(255) collate utf8_bin NOT NULL,
`address` text collate utf8_bin NOT NULL,
`email` varchar(255) collate utf8_bin default NULL,
`admin` enum('false','true') collate utf8_bin NOT NULL default 'false',
`worker` int(10) unsigned default NULL,
`client` int(10) unsigned default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `worker` (`worker`),
UNIQUE KEY `client` (`client`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `z_clients` (
`id` int(10) unsigned NOT NULL auto_increment,
`company` text collate utf8_bin NOT NULL,
`shortdesc` text collate utf8_bin NOT NULL,
`site` varchar(255) collate utf8_bin NOT NULL,
`affair` varchar(255) collate utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;