我想選擇一種尚未翻譯的語言。如何選擇不在其他表格中的項目
omc_pages有
CREATE TABLE IF NOT EXISTS `omc_pages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`path` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`lang_id` int(10) NOT NULL,
...
PRIMARY KEY (`id`)
)
INSERT INTO `omc_pages` (`id`, `path`, ...`lang_id`) VALUES
(26, 'about_us',... 0),
(44, 'about_us', ...1)...
這意味着路徑,about_us有英語和挪威語了。我假設關鍵字0是英語。
omc_languages有
CREATE TABLE IF NOT EXISTS `omc_languages` (
`id` int(25) NOT NULL AUTO_INCREMENT,
`langname` text COLLATE utf8_unicode_ci NOT NULL,
`status` enum('active','inactive') COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
)
INSERT INTO `omc_languages` (`id`, `langname`, `status`) VALUES
(1, 'norwegian', 'active'),
(2, 'french', 'active')...
在這種情況下,我只希望得到法國
左右。
我試過這個,但給出了一個錯誤。
SELECT * FROM omc_languages WHERE omc_languages.id NOT IN
(SELECT lang_id FROM omc_pages WHERE omc_pages.path = $path)
我也認爲righ加入可能能夠完成這項工作。
我感謝您的幫助。 在此先感謝。
更新:我使用MySQL。錯誤如下。
Unknown column '$path' in 'where clause'
SELECT * FROM omc_languages WHERE omc_languages.id NOT IN (SELECT lang_id FROM omc_pages WHERE omc_pages.path = $path)
您正在使用哪個數據庫?底部的sql給了什麼錯誤? – 2011-03-10 13:54:57
我不確定你想要得到什麼數據?只是一個特定語言的所有頁面?或者特定路徑中的所有語言? – 2011-03-10 13:55:26
你會得到什麼錯誤?是因爲'$ path'沒有被引用嗎?只要子查詢不返回任何'NULL','NOT IN'應該工作,但是與JOIN相比,MySQL中子查詢的性能相當差。 – 2011-03-10 13:56:15