我有2個表所示:SQL/MySQL的選擇項目使用JOIN
CREATE TABLE IF NOT EXISTS tb_item (
item_id INT UNSIGNED NOT NULL AUTO_INCREMENT ,
item_name VARCHAR(100) NULL ,
PRIMARY KEY (item_id)
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS tb_item_img (
item_img_id INT UNSIGNED NOT NULL AUTO_INCREMENT ,
item_img_thumb ENUM('0','1') NULL DEFAULT '0' ,
item_img_image VARCHAR(100) NULL ,
item_id INT UNSIGNED NOT NULL ,
PRIMARY KEY (item_img_id) ,
INDEX fk_tb_item_img_tb_item1_idx (item_id ASC) ,
CONSTRAINT fk_tb_item_img_tb_item1
FOREIGN KEY (item_id)
REFERENCES tb_item (item_id)
ON DELETE RESTRICT
ON UPDATE RESTRICT)
ENGINE = InnoDB;
而且我有一個查詢,我想從tb_item
和只是一個圖像選擇所有項目的每個項目,我贏了「T喜歡使用子查詢,我使用JOIN 這樣的:
SELECT `item_id`, `item_name`, `item_img_image`
FROM (`tb_item`)
INNER JOIN `tb_item_img` USING (`item_id`)
LIMIT 8
但是,當項目已經超過100倍的圖像,它返回超過1次。 當該項目沒有圖像時,它未被選中。
所以,我的問題是:是否有可能,像上面這樣的查詢,選擇所有項目和1圖像或NULL到圖像字段。但只是每個item_id
?
是的,這個很容易。但我正在嘗試一些不同的東西。沒有子查詢。 –