[英]mysql query return only if number of rows is more than zero
如何更改此查詢以僅返回返回多於0行的行?
我需要結合這兩個查詢。 我需要返回第二個查詢至少返回1行的行。
SELECT albumData.*
FROM albumData
WHERE userID='$id'
AND state='0'
ORDER BY date DESC
SELECT photos.photo
FROM albums, photos
WHERE albums.userID = '$id'
AND albums.photoID = photos.id
AND albums.albumID = $albumID
ORDER BY photos.id DESC LIMIT 6;
編輯添加來自注釋的有用信息:
Table albumData容器為每個用戶,他們設置的每個相冊提供了唯一的行,這是我要從最初返回行數的地方。 但是我想將albumsData中的id與Albums表中的albumID進行比較,如果具有albums.albumID = albumData.id的行數大於一,則返回這些行。
我將假設您收到某種錯誤..如果您嘗試防止空記錄集:
用這樣的東西
$getPhotosq = "
SELECT photos.photo FROM albums, photos
WHERE albums.userID='$id'
AND albums.photoID=photos.id
AND albums.albumID=$albumID
ORDER BY photos.id DESC LIMIT 6";
$rs = mysql_query($getPhotosq);
if($rs) {
/// DO THE CODE
}
您的查詢似乎正確 。
以下可能是問題...
有跡象表明,等於沒有記錄$id
和 $albumID
。 請先手動檢查此內容,然后再次執行查詢...
祝好運!!!
下次嘗試..如果我明白這個問題的權利
SELECT photos.photo
FROM albums
INNER JOIN photos on albums.photoID = photos.id
INNER JOIN albumData ON albumData.id = albums.albumID
WHERE albums.userID = '$id'
and albums.albumID = $albumID
and albumData.state = '0'
ORDER BY photos.id DESC LIMIT 6;
SELECT albumData.*
FROM albumData, albums
WHERE albumData.userID='$id'
AND albumData.state='0'
AND albums.state='0'
AND albumData.id=albums.albumID
GROUP BY albums.albumID
ORDER BY albums.date DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.