は、それが持っている私は私のデータベースでMySQLのクエリは、「いない値が存在する」私が知りたい
1,2,3,4-
以下のように4番号を持っている場合は行うことが可能ですデータは
私はデータベースを照会し、1つのクエリ 0123でを返すことができますどのように1,2,3,5,6,7-
次のように存在しています
は、それが持っている私は私のデータベースでMySQLのクエリは、「いない値が存在する」私が知りたい
1,2,3,4-
以下のように4番号を持っている場合は行うことが可能ですデータは
私はデータベースを照会し、1つのクエリ 0123でを返すことができますどのように1,2,3,5,6,7-
次のように存在しています
CREATE TABLE `example` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
INSERT INTO example VALUES (1),(2),(3),(5),(6),(7);
SELECT t2.id FROM example AS t1
RIGHT JOIN (
SELECT 1 AS id UNION
SELECT 2 AS id UNION
SELECT 3 AS id UNION
SELECT 4 AS id
) AS t2
ON t1.id = t2.id
WHERE t1.id IS NULL;
+----+
| id |
+----+
| 4 |
+----+
や一時テーブルを使用するに助言してください:
CREATE TEMPORARY TABLE `tmp` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB;
INSERT INTO tmp VALUES (4);
SELECT t2.id FROM example AS t1
RIGHT JOIN tmp AS t2
ON t1.id = t2.id
WHERE t1.id IS NULL;
少し周りの事を切り替え、何が起こっているかを確認するには:
SELECT t1.id, t2.id FROM example AS t1
RIGHT JOIN (
SELECT 1 AS id UNION
SELECT 2 AS id UNION
SELECT 3 AS id UNION
SELECT 4 AS id
) AS t2
ON t1.id = t2.id;
+------+----+
| id | id |
+------+----+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| NULL | 4 |
+------+----+
SELECT id FROM
(SELECT 1 AS id UNION
SELECT 2 UNION
SELECT 3 UNION
SELECT 4
) AS TBL1
WHERE id NOT IN (SELECT id FROM thetable)
@ypercubeありがとう... – tamilnad
のErm、 '4を選択FROM [TableName] '? – Widor
これはあなたが必要とするかもしれません:http://stackoverflow.com/questions/2886797/select-back-things-that-dont-exist – Mike
マイクありがとうございます。 – Wara