2017-03-03 62 views
0

我在mySQL中有以下圖像表,它已被提供給我糾正,其中存儲了與一組產品相關的所有圖像。這些圖像已經(大多數已經)或將被調整大小,以便自適應圖像可以在應用程序的前端使用。但是,當前端調用api並檢查請求的產品對象時,某些「主要」圖像似乎沒有「替代品」(調整大小/兒童)。現在我不知道api在通過調整器運行時如何保存這些圖像。我剛被要求檢查表格,以確保所有圖像都有其他尺寸,並儘可能地嘗試看看有什麼不對。爲此,我試圖對圖像表運行查詢以獲取所有沒有「子」的父圖像。MYSQL - 在沒有調整大小的兒童的情況下獲取父圖像

樣例表如下,其中parent_id鍵是引用主圖像的id鍵的外鍵。 這種約束被設置在桌子上,其中,****在手置換了的問題,實際值:

CONSTRAINT `****` FOREIGN KEY (`parent_id`) REFERENCES `image` (`id`) 

樣品表:

+----+-------+-------------+--------------+--------------+ 
| id | width | path  | publicId | parent_id | 
+----+-------+-------------+--------------+--------------+ 
| 1 | 300 | somewhere |  12  |  NULL  | 
+----+-------+-------------+--------------+--------------+ 
| 2 | 400 | somewhere2 |  34  |  1  | 
+----+-------+-------------+--------------+--------------+ 
| 3 | 500 | somewhere3 |  56  |  1  | 
+----+-------+-------------+--------------+--------------+ 
| 4 | 200 | somewhere4 |  78  |  NULL  | 
+----+-------+-------------+--------------+--------------+ 
| 5 | 200 | somewhere5 |  90  |  NULL  | 
+----+-------+-------------+--------------+--------------+ 

爲了讓所有的家長圖像,而不孩子我用下面的查詢:

SELECT publicId, version, mimeType FROM image i WHERE parent_id IS NULL AND NOT EXISTS (SELECT id FROM image r WHERE r.parent_id = i.id) 

有沒有一種方法可以檢查,這其實是在給定的歸國未調整父圖像的右下方數總共有表中的125397行?

+0

對返回的數據進行正面和負面測試,以便在查詢中獲得舒適。但是,查詢似乎是正確的。 – Shadow

+0

好的。萬分感謝。你可以補充說,作爲答案,我可以接受它是正確的嗎? – hyprstack

回答

1

對返回的數據進行正面和負面測試,以獲得對查詢的舒適度。

正面測試是確認查詢返回的結果符合您的業務需求。否定測試是爲了確認您的查詢排除的記錄應根據您的業務要求排除。

但是,查詢似乎是正確的。

相關問題