Tjenamoss. Jag har en liten fundering på hur man ska strukturera upp sin SQL-kod så att den blir så "human-readable" som möjligt.
Om vi tar följande query:
SELECT tabell0.*, tabell4.*, tabell3.status AS Acl, tabell2.user_rights, tabell4.retry_count AS tabell4RetryCount FROM tabell0 LEFT JOIN tabell4_user AS tabell4 ON(tabell4.user_id=tabell0.user_id) LEFT JOIN tabell3 ON (tabell3.acl_id=tabell4.acl_id) LEFT JOIN tabell2 ON (tabell0.mailbox_id=tabell2.mailbox_id) WHERE (tabell0.extension='xxx' AND tabell4.pin_code='yyy') OR (tabell4.user_name='xxx' AND tabell4.pwd='yyy')
Så är den i sin nuvarande form mer eller mindre oläslig, men om man slänger in lite tabbar och radbrytningar får man följande:
SELECT
tabell0.*,
tabell4.*,
tabell3.status AS Acl,
tabell2.user_rights,
tabell4.retry_count AS tabell4RetryCount
FROM
tabell0
LEFT JOIN tabell4_user AS tabell4
ON ( tabell4.user_id=tabell0.user_id )
LEFT JOIN tabell3
ON ( tabell3.acl_id=tabell4.acl_id )
LEFT JOIN tabell2
ON ( tabell0.mailbox_id=tabell2.mailbox_id )
WHERE
(
tabell0.extension='xxx'
AND
tabell4.pin_code='yyy'
)
OR
(
tabell4.user_name='xxx'
AND
tabell4.pwd='yyy'
)
vilket är en rejäl förbättring.
Hursomhelst så har det säkerligen forskats lite i detta och nu frågar jag er:
* Finns det någon vedertagen (de facto-)standard för hur man ska ställa upp sina sql-satser för att de ska bli så lättlästa som möjligt?
* Hur gör ni?
* Är min uppställning helt åt fanders?
nu har ni något att bita i :)