У меня есть две таблицы:MySQL двойной запрос в одном запросе
CREATE TABLE folders (
ID BIGINT PRIMARY KEY AUTO_INCREMENT,
uid BIGINT NOT NULL,
driveid BIGINT NOT NULL,
foldername VARCHAR(64) NOT NULL,
icon_url varchar(260),
time_created timestamp NOT NULL default '0000-00-00 00:00:00',
time_updated timestamp NOT NULL default '0000-00-00 00:00:00' on update CURRENT_TIMESTAMP,
time_expires timestamp NOT NULL default '0000-00-00 00:00:00'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE drives (
ID BIGINT PRIMARY KEY AUTO_INCREMENT,
uid BIGINT NOT NULL,
drivename VARCHAR(100) NOT NULL,
icon_url varchar(260),
time_created timestamp NOT NULL default '0000-00-00 00:00:00',
time_updated timestamp NOT NULL default '0000-00-00 00:00:00' on update CURRENT_TIMESTAMP,
time_expires timestamp NOT NULL default '0000-00-00 00:00:00'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Я хочу, чтобы выбрать диски и все папки, где:
- в таблице дисков, где
uid = UID NUMBER
- в папках, где
dbid = ID
от приводов, которые также имеютUID = given UID number
Я хочу получить один запрос и получить весь результат в одном ответе. Является ли это возможным? Если да, пожалуйста, совет, я не хочу вставлять то, что я пробовал, поскольку они глупы, я пробовал внутреннее соединение, левое соединение, смешанные запросы, но я не приблизился.
Значит, ваши отношения 'drives.ID = folders.dbid'? И номер 'uid', который вы хотите отфильтровать, - это то, что _same_ uid для« дисков »и« папок », или это _different_ uid? –
@MichaelBerkowski, да, это тот же UID, на самом деле он должен быть таким же UID, UID для идентификатора пользователя, DBID для ID диска – JustACPPFan
'driveid'' NOT NULL', поэтому каждая папка принадлежит одному диску, но есть диски у которых нет папок для 'uid', и должны ли они быть возвращены? –